티스토리 뷰
반응형
안녕하세요. 오라클 페이스북 게시물에서 재미있는 예제가 있어서 소개드리려고 합니다.
보통 TO_DATE 함수를 사용해서 문자열을 DATE나 TIMESTAMP 형식으로 변환할텐데요.
이번에 DATE 리터럴이라는 방식을 알게됐습니다. 아래는 간단한 예제입니다.
SQL> select DATE '2018-12-31' from dual;
DATE'2018
---------
31-DEC-18
위와 같이 date 키워드에 이어서 날짜형식의 문자열을 입력하면 DATE 형식의 데이터가 출력됩니다.
TIMESTAMP도 DATE와 유사하게 사용할 수 있습니다. INTERVAL도 가능하네요.
SQL> select TIMESTAMP '1999-10-29 01:30:00 US/Pacific PDT' from dual;
TIMESTAMP'1999-10-2901:30:00US/PACIFICPDT'
---------------------------------------------------------------------------
29-OCT-99 01.30.00.000000000 AM US/PACIFIC
SQL> select INTERVAL '120' HOUR(3) from dual;
INTERVAL'120'HOUR(3)
---------------------------------------------------------------------------
+005 00:00:00
TO_DATE보다 사용법이 간편해서 유용할 듯 합니다.
오라클에서 소개한 예제에서는 CONNECT BY 절을 써서 응용한 방법이 나와있습니다.
원래 소개하는 내용은 Partitioned Outer Join 이긴 합니다만 ^^;
SQL> select date'2018-12-31' + level calendar_date
2 from dual
3 connect by level <= 3;
CALENDAR_DATE
---------
01-JAN-19
02-JAN-19
03-JAN-19
https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements003.htm
반응형
댓글
링크
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday