📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TO_DATE



式を日付に変換します。変換対象には以下が含まれます。

  • タイムスタンプ形式の文字列を日付に変換: 指定した文字列から日付を抽出します。

  • 整数を日付に変換: その整数を、Unix エポック(1970 年 1 月 1 日 00:00:00)より前の日数(負の数の場合)または後の日数(正の数の場合)として解釈します。Date 値の範囲は 1000-01-01 から 9999-12-31 までであることに注意してください。"SELECT TO_DATE(9999999999999999999)" を実行すると、TiDB Cloud Lake はエラーを返します。

  • 指定した形式を使用して文字列を日付に変換: この関数は 2 つの引数を取り、2 番目の文字列で指定した形式に基づいて、1 番目の文字列を日付に変換します。TiDB Cloud Lake で日付と時刻の形式をカスタマイズするには、フォーマット指定子を使用できます。サポートされているフォーマット指定子の一覧については、日付と時刻の書式設定 を参照してください。

関連情報: TO_TIMESTAMP

構文

-- Convert a timestamp-format string TO_DATE('<timestamp_expr>') -- Convert an integer TO_DATE(<integer>) -- Convert a string using the given format TO_DATE('<string>', '<format>')

エイリアス

戻り値の型

この関数は、"YYYY-MM-DD" 形式の日付を返します。

SELECT TYPEOF(TO_DATE('2022-01-02')), TYPEOF(STR_TO_DATE('2022-01-02')); ┌───────────────────────────────────────────────────────────────────┐ │ typeof(to_date('2022-01-02')) │ typeof(str_to_date('2022-01-02')) │ ├───────────────────────────────┼───────────────────────────────────┤ │ DATE │ DATE │ └───────────────────────────────────────────────────────────────────┘

返された日付を文字列に戻すには、DATE_FORMAT 関数を使用します。

SELECT DATE_FORMAT(TO_DATE('2022-01-02')) AS dt, TYPEOF(dt); ┌─────────────────────────┐ │ dt │ typeof(dt) │ ├────────────┼────────────┤ │ 2022-01-02 │ VARCHAR │ └─────────────────────────┘

例

例 1: タイムスタンプ形式の文字列を変換する

SELECT TO_DATE('2022-01-02T01:12:00+07:00'), STR_TO_DATE('2022-01-02T01:12:00+07:00'); ┌─────────────────────────────────────────────────────────────────────────────────┐ │ to_date('2022-01-02t01:12:00+07:00') │ str_to_date('2022-01-02t01:12:00+07:00') │ ├──────────────────────────────────────┼──────────────────────────────────────────┤ │ 2022-01-01 │ 2022-01-01 │ └─────────────────────────────────────────────────────────────────────────────────┘ SELECT TO_DATE('2022-01-02'), STR_TO_DATE('2022-01-02'); ┌───────────────────────────────────────────────────┐ │ to_date('2022-01-02') │ str_to_date('2022-01-02') │ ├───────────────────────┼───────────────────────────┤ │ 2022-01-02 │ 2022-01-02 │ └───────────────────────────────────────────────────┘

例 2: 整数を変換する

SELECT TO_DATE(1), STR_TO_DATE(1), TO_DATE(-1), STR_TO_DATE(-1); ┌───────────────────────────────────────────────────────────────────┐ │ to_date(1) │ str_to_date(1) │ to_date((- 1)) │ str_to_date((- 1)) │ │ Date │ Date │ Date │ Date │ ├────────────┼────────────────┼────────────────┼────────────────────┤ │ 1970-01-02 │ 1970-01-02 │ 1969-12-31 │ 1969-12-31 │ └───────────────────────────────────────────────────────────────────┘

例 3: 指定した形式を使用して文字列を変換する

SELECT TO_DATE('12/25/2022','%m/%d/%Y'), STR_TO_DATE('12/25/2022','%m/%d/%Y'); ┌───────────────────────────────────────────────────────────────────────────┐ │ to_date('12/25/2022', '%m/%d/%y') │ str_to_date('12/25/2022', '%m/%d/%y') │ ├───────────────────────────────────┼───────────────────────────────────────┤ │ 2022-12-25 │ 2022-12-25 │ └───────────────────────────────────────────────────────────────────────────┘

このページは役に立ちましたか?