日付(DATE型)を文字列にする例。
SQL> select TO_CHAR(sysdate, 'yyyy/mm/dd hh24:mi:ss') from dual; TO_CHAR(SYSDATE,'YY ------------------- 2010/12/29 23:56:55
SQL> select TO_CHAR(systimestamp, 'yyyy/mm/dd hh24:mi:ss.FF6') from dual; TO_CHAR(SYSTIMESTAMP,'YYYY/MM ----------------------------- 2010/12/29 23:59:15.126000
Oracleの書式文字列は、大文字・小文字は区別しない(どちらでもよい)。
→書式文字列
日付(DATE型)の曜日を取得することも出来る。
SQL> select TO_CHAR(TO_DATE('20101231', 'yyyymmdd'), 'day') from dual; TO_CHA ------ 金曜日
何語で取れるかは環境による。環境も指定するには以下の様にする。
SQL> select TO_CHAR(TO_DATE('20101231', 'yyyymmdd'),'Day','NLS_DATE_LANGUAGE = JAPANESE') from dual; TO_CHA ------ 金曜日 SQL> select TO_CHAR(TO_DATE('20101231', 'yyyymmdd'),'Day','NLS_DATE_LANGUAGE = AMERICAN') from dual; TO_CHAR(T --------- Friday
参考: SHIFT the OracleのTO_CHAR(日付)
数値を0埋めした文字列にする例。
SQL> select to_char(12, 'FM0000') from dual; TO_CH ----- 0012
「FM」を付けないと、正の数の場合はスペース1個(負の数の場合は「-」)が先頭に入る。