S-JIS[2010-12-29] 変更履歴

to_char

Oracleの(SQLの)関数TO_CHARのメモ。


日付→文字列

日付(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個(負の数の場合は「-」)が先頭に入る。


Oracle関数へ戻る / SQLメモへ戻る / Oracle目次へ戻る / 技術メモへ戻る
メールの送信先:ひしだま