SQL 関数一覧 (T‐Z) > TO_CHAR(日付)

日時式、日付型をフォーマットする、曜日、和暦を求める

数値式をフォーマットする

syntax

TO_CHAR ( expr [, format [, nls_param]] )
TO_NCHAR ( expr [, format [, nls_param]] )
return [ string ]

TO_NCHAR 関数は TO_CHAR 関数の戻り値を各国語キャラクタセット NCHAR としたもの

parameter

return

  • フォーマット書式に従って変換された文字列、または、データベースキャラクタセット文字列

avail

  • SQL および PL/SQL の両方で使用可能。

日付書式のフォーマット文字列

各国語サポートパラメータ

NLS_CALENDAR についてはグローバリゼーション・サポート・ガイド参照

nls_param の種類設定例
NLS_DATE_LANGUAGEENGLISH
NLS_CALENDAR'JAPANESE IMPERIAL'(要クォート)

日付のフォーマット使用例

DATE 型のデフォルトの書式は NLS_DATE_FORMAT でフォーマットされる。TIMESTAMP 型は NLS_TIMESTAMP_FORMAT。タイムゾーン付きの場合には NLS_TIMESTAMP_TZ_FORMAT によってフォーマットされる。

TO_CHAR( DATE '2005-06-07', 'RRMMDD') ⇒ '050607'

日付と時刻のフォーマット使用例

TO_CHAR ( TIMESTAMP '2000-01-02 04:05:06', 'YYYY/MM/DD HH24:MI:SS DAY')
⇒ 2000/01/02 04:05:06 日曜日

日付に関する豆知識

曜日を求める

TO_CHAR 関数で曜日を取得することも可能(和名、または、英名)

曜日を取得するには 書式指定に 'DAY' を指定する。
日本の曜日はすべて同じ長さなので関係ないが、英語の曜日には一番長い 'Wednesday' の長さにあわせるために空白が付けられている。

TO_CHAR( SYSDATE, 'Day', 'NLS_DATE_LANGUAGE = ENGLISH') ⇒ 'Friday___'
TO_CHAR( SYSDATE, 'FMDay', 'NLS_DATE_LANGUAGE = ENGLISH') ⇒ 'Friday'
TO_CHAR( SYSDATE, 'Day') ⇒ '金曜日'

指定の日付の年号名を取得する NAME_OF_ERA ファンクション

デフォルトではシステム日付における年号を戻す。

CREATE OR REPLACE FUNCTION RIVUS.NAME_OF_ERA(
	P_BASEDATE IN DATE := SYSDATE)
RETURN VARCHAR2 IS
BEGIN
	RETURN TO_CHAR(P_BASEDATE, 'EE', 'NLS_CALENDAR=''JAPANESE IMPERIAL''');
END;
/

和暦表示を行なう

年号を取得する

SQL> select to_char(sysdate , 'EE', 'nls_calendar=''japanese imperial''') era
  2   from dual;
 
ERA
------------------------------------------------------------
平成

和暦で表示する

SQL> select to_char(date '1900-01-01', 'eedl', 'nls_calendar=''japanese imperial''')
  2  from dual;
 
TO_CHAR(DATE'1900-01-01','EEDL','NLS_CALEN
------------------------------------------
明治33年1月1日 月曜日


SQL 関数 - TO_CHAR 関連

関連事項

 
アルファベット別 関数一覧 ショートカット
ABCDEFG
HILMNOP
RSTUVWX
日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ オラクルサポートセンター