説明
この関数は、日付時刻型の値を VARCHAR 型のデータに変換します。
説明
OceanBaseデータベースV4.3.5では、この関数はV4.3.5 BP1バージョンからサポートされています。
構文宣言
TO_CHAR(datetime [, fmt])
パラメータの説明
datetime:変換する日付時刻データを表します。fmt:オプションで、出力形式を指定します。パラメータfmtを指定しない場合、パラメータdatetimeの形式に従ってVARCHARデータ型に変換されます。詳細については、以下のfmtを参照してください。
fmt
fmtパラメータの形式と値は以下のとおりです:
| 書式 | 説明 |
|---|---|
-、/、,、.、;、: および "text" |
時間の区切り記号を表します。標準のいくつかの記号に加えて、テキストを区切り記号として使用することも許可されています。例えば TO_CHAR(SYSDATE(), 'YYYY "年" mm "月" dd "日"') などです。 |
AD/A.D. |
公元を表します。NLSによって、西暦または AD などに変換されます。 |
AM/A.M. |
午前を表します。PM/P.M. と同様に、午前または午後を示す識別子を返します。 |
BC/B.C. |
紀元前を表します。 |
CC/SCC |
アラビア数字で世紀を返します。年の末尾の2桁が01から99の間である場合は、最初の2桁+1を返し、それ以外の場合は最初の2桁を返します。 |
D |
週の特定の日を返します。返されるのは、1から7までの番号です。 |
DAY |
週の特定の日を返しますが、返されるのは曜日です。
説明この書式は言語設定に関係しており、中国環境では |
DD |
月の特定の日(1から31)を返します。 |
DDD |
年の特定の日(1から366)を返します。 |
DL |
長い日付形式を返します。NLS_TERRITORY、NLS_LANGUAGE パラメータによって制御されます。 |
DS |
短い日付形式を返します。NLS_TERRITORY、NLS_LANGUAGE パラメータによって制御されます。 |
E |
紀元の略称を表しますが、以下のカレンダーにのみ適しています:日本の皇室、中華民国、タイの仏暦。 |
FF [1..9] |
ミリ秒を表します。数字を指定しない場合は、デフォルトの精度が使用されます。TIMESTAMP タイプにのみ使用できます。 |
FM |
何も返しません。 |
HH/HH12 |
時間を表します。12時間制(1から12)です。 |
HH24 |
時間を表します。24時間制(0から23)です。 |
IW |
ISO標準の曜日の順序番号(1から52または1から53)。 |
IYYY、IYY、IY、I |
ISO年(4桁)の4、3、2、1桁の数字(逆順)を返します。 |
J |
ユリウス日(主に天文学で使用されるカレンダー)を表します。紀元前4712年1月1日から数えて、結果は整数となります。アルゴリズムは大まかに次のとおりです:(西暦の日付 + 4712) × ユリウス日の年間平均日数。 |
MI |
分(0から59)を返します。 |
MM |
2桁の月(01から12)を返します。 |
MON |
月の略称を返します。国によって異なる NLS_DATE_LANGUAGE に関連しています。例えば、中国環境では04は4を表します。 |
MONTH |
月の名前を返します。国によって異なる NLS_DATE_LANGUAGE に関連しています。例えば、中国語では04は4月を表します。 |
PM/P.M. |
午後を表します。AM/A.M. と同様に、午前または午後を示す識別子を返します。 |
Q |
四半期(1から4)を返します。 |
RR |
年(末尾の2桁)を表します。 |
SS |
秒(0から59)を返します。1分以内の範囲です。 |
SSSSS |
1日の午前0時からの累積秒数(0から86399)を返します。 |
SYYYY |
4桁の年で、S の接頭辞は紀元前 BC を表します。 |
TZD |
夏時間情報で、タイムゾーンの略称に夏時間情報を追加したものです。書式 TZR で設定されたタイムゾーンと対応していなければなりません。以下の TZH、TZM、TZR の3つはすべてタイムゾーンに関連しており、TO_CHAR で直接使用されるわけではありません。 |
TZH |
タイムゾーン内の時間を表します。例えば hh:mi:ss_fftzh:tzm などです。 |
TZM |
タイムゾーン内の分を表します。 |
TZR |
タイムゾーン内の地域情報を表します。データベースがサポートするタイムゾーンでなければなりません。例えば、US/Pacificなどです。 |
WW |
週の順序番号を表します。年の最初の日から年の最後の7日目まで(1から53)。例えば、2008-01-01から2008-01-07までを1、2008-01-09から2008-01-13までを2とします。 |
W |
月の曜日の番号。 |
X |
ローカルルートシンボルを表し、特に用途はなく、TIMESTAMP タイプとのみ使用できます。 |
Y,YYY |
4桁の年を返します。英語のカンマで区切ります。例えば、2,008です。 |
YYYY、YYY、YY、Y |
次の4桁、3桁、2桁、1桁の年を表します。例えば、2008はそれぞれ次の値を取ることができます:2008、008、08、8。 |
戻り値の型
VARCHAR型のデータを返します。datetime値がNULLの場合、NULLを返します。
例
SELECT
TO_CHAR(SYSDATE()),
TO_CHAR(SYSDATE(), 'YYYY/MM/DD HH24:MI:SS AM'),
TO_CHAR(SYSDATE(), 'DS HH:MI:SS PM'),
TO_CHAR(SYSDATE(), 'Month'),
TO_CHAR(NULL, 'HH:MI:SS');
実行結果は次のとおりです:
+---------------------+------------------------------------------------+--------------------------------------+-----------------------------+---------------------------+
| TO_CHAR(SYSDATE()) | TO_CHAR(SYSDATE(), 'YYYY/MM/DD HH24:MI:SS AM') | TO_CHAR(SYSDATE(), 'DS HH:MI:SS PM') | TO_CHAR(SYSDATE(), 'Month') | TO_CHAR(NULL, 'HH:MI:SS') |
+---------------------+------------------------------------------------+--------------------------------------+-----------------------------+---------------------------+
| 2025-03-04 09:38:56 | 2025/03/04 09:38:56 AM | 3/4/2025 09:38:56 AM | March | NULL |
+---------------------+------------------------------------------------+--------------------------------------+-----------------------------+---------------------------+
1 row in set