사람은 오라클 DB에서 아래의 SQL 문을 설명해 주시겠습니까 :디코드 기능
select decode(TRIM(to_char(SYSDATE,'Day')),'Monday','3','1') from dual
사람은 오라클 DB에서 아래의 SQL 문을 설명해 주시겠습니까 :디코드 기능
select decode(TRIM(to_char(SYSDATE,'Day')),'Monday','3','1') from dual
첫째,의는 to_char
시작하자. to_char(SYSDATE,'Day')
오늘의 요일을 알려줍니다. to_char
을 사용하면 특정 형식의 문자열로 날짜 (이 경우 sysdate
을 지정 했으므로 오늘 날짜)를 변환 할 수 있습니다. 당신이 사용할 수있는 날짜 형식의 다른 예는 여기를보세요 :
http://www.techonthenet.com/oracle/functions/to_char.php
trim
선행과 후행 공백 제거합니다.
지금은 decode
입니다. decode
은 if else 문과 같습니다. 오늘 월요일 리턴 3의 경우 다른 1.
decode
를 돌려 또한 조금 더 일을 수행 할 수 있습니다 살펴 보자로 특정 예에서
http://www.techonthenet.com/oracle/functions/decode.php
을, 당신은이 문장을 읽을 수 이 같은 복잡한 :
select decode(TRIM(to_char(SYSDATE,'Day')),'Monday','3','Tuesday',5,'1')
from dual
이 읽기 것입니다 : 오늘, 다른 월요일 반환 3의 경우 오늘 화요일 반환 5, 그렇지 않은 경우 1
경우는 현재 월요일 (그리고 로케일이 날이 "월요일"로 렌더링되도록이면 3
가 반환)이고, 그렇지 않으면 1
입니다.
DECODE(a, b,c, d,e, f,g, ..., h)
a
-
b
,
d
,
f
등을 차례로 비교합니다.
a
이
b
인 경우
DECODE
은
c
을 반환합니다.
a
이
d
인 경우
DECODE
은
e
을 반환합니다. 등등.
a
이 아닌 경우
DECODE
은
h
을 반환합니다. 합니다 (
h
는 선택 사항입니다
h
이 지정되지 않는 경우는 기본 반환 값은,
NULL
입니다.) 모든