説明
この関数は、日付時刻型の値を 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週間のいずれかの日を返します。返されるのは1から7までの番号です。 |
DAY |
1週間のいずれかの日を返しますが、返されるのは曜日です。
説明この書式は言語設定に関連しています。中国環境では |
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 はすべてタイムゾーンに関連していますが、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 |
四桁の年を返します。英字のカンマで区切ります。例: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