ex) 종료일 오전 9시 기준으로 종료여부 및 종료일 표시
SELECT TO_CHAR (STOPDATE, 'YYYY.MM.DD (DY)'), -- 종료일
SIGN (STOPDATE - TO_DATE (TO_CHAR (SYSDATE, 'YYYYMMDD') || '090000',
'YYYYMMDDHH24MISS')) AS STOPYN
FROM CUST;
SELECT
TO_TIMESTAMP(TO_CHAR(STOPDATE,'YYYYMMDDHH24MISS')) - TO_TIMESTAMP(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')),
TO_CHAR(TO_TIMESTAMP(TO_CHAR(STOPDATE,'YYYYMMDDHH24MISS')) - TO_TIMESTAMP(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))),
SUBSTR(TO_TIMESTAMP(TO_CHAR(STOPDATE,'YYYYMMDDHH24MISS')) - TO_TIMESTAMP(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')),12,8)
FROM CUST;
두시간차의 시분초만 구할려면 12,8 로 자르면 된다.
-> 결과 예)
+00 23:32:51.000000
+000000000 23:32:51.000000000
23:32:51
------------------------------------------------------------------------------
요일표시 - 파라미터를 통해 표시언어를 지정해 줌(NLS_LANG값에 의해 원하는 언어로 표현안될경우 등)
SELECT
TO_CHAR(SYSDATE,'sssss'), -- 해당일자의시분초를기준으로지난초시
TO_CHAR(SYSDATE, 'PM YYYY/MM/DD HH' ), -- 오전오후표시(AM 마찬가간지 )
TO_CHAR(SYSDATE, 'MONTH / MON'), -- ex) SEPTEMBER / SEP
TO_CHAR(SYSDATE, 'DAY'), -- ex) 수요일
TO_CHAR(SYSDATE, 'DY'), -- ex) 수 'DY' 대신 'D'를 하면 요일 시쿼스 나옴 (일:1 월:2 ~ 토:7)
TO_CHAR(SYSDATE, 'DY', 'NLS_DATE_LANGUAGE=JAPANESE') -- ex) 水
FROM DUAL;
NLS_DATE_LANGUAGE 참조
http://docs.oracle.com/cd/B19306_01/server.102/b14225/applocaledata.htm#i634428
-------------------------------------------------------------------------------
파라미터값 대소문자에 따라 결과의 대소문자도 틀려짐
SELECT
TO_CHAR(SYSDATE, 'year YEAR'), -- twenty thirteen TWENTY THIRTEEN
TO_CHAR(SYSDATE, 'Year') -- Twenty Thirteen
FROM DUAL;
-------------------------------------------------------------------------------
기타 쿼리 사용 예
select extract(month from sysdate) from dual;
'Database&WAS > Oracle' 카테고리의 다른 글
Oracle DB Link (0) | 2014.05.14 |
---|---|
오라클 XE 8080 포트 충돌 (톰캣) (0) | 2014.03.13 |
제약조건 검사 시점 (0) | 2013.02.14 |
Oracle 11g LISTENER (2) | 2012.10.24 |
WFMLRSVCApp.ear 파일을 찾을 수 없는 오류 (0) | 2012.10.23 |