すべてのプロダクト
Search
ドキュメントセンター

PolarDB:nls_timestamp(_tz)_形式

最終更新日:May 28, 2024

PolarDB for PostgreSQL (Oracleと互換) は、nls_timestamp_format関数とnls_timestamp_tz_format関数をサポートしています。

概要

  • nls_timestamp_format関数は、pg_catalog.to_char(arg1 timestamp) およびpg_catalog.to_timestamp(arg1 text) 関数の変換形式、およびtimestampデータ型の出力形式を制御します。
  • nls_timestamp_tz_format関数は、pg_catalog.to_char(arg1 timestamptz) およびpg_catalog.to_timestamp_tz(arg1 text) 関数の変換形式と、timestamptzデータ型の出力形式を制御します。
説明
  • TIMESTAMPTIMESTAMP without time zoneは同じデータ型です。
  • TIMESTAMPTZTIMESTAMPTZ with time zoneは同じデータ型です。

Usage

  • nls_timestamp_形式

    nls_timestamp_formatの初期値は ''です。

    SETステートメントを実行して、nls_timestamp_formatをサポートされているTIMESTAMPデータ型に設定できます。 形式が無効な場合は、エラーが報告されます。

    値をリセットするには、reset nls_timestamp_format; 文を実行します。

    YYYY/MM/DD HH24:MI:SS形式の例:
    • nls_timestamp_formatYYYY/MM/DD HH24:MI:SSに設定します。
      nls_timestamp_formatを 'YYYY/MM/DD HH24:MI:SS 'に設定します。
      サンプル結果:
      set
    • YYYY/MM/DD HH24:MI:SS形式で2021-11-11 11:11を変換し、to_char関数を実行します。
      select to_char('2021-11-11 11:11:11 '::timestamp);
      サンプル結果:
      to_char
      ---------------------
       2021/11/11 11:11:11
      (1行) 
    • YYYY/MM/DD HH24:MI:SS形式で2021-11-11 11:11を変換し、to_timestamp関数を実行します。
      select to_timestamp('2021/11/11 11:11:11 '::text);
      サンプル結果:
      to_timestamp
      ---------------------
       2021/11/11 11:11:11
      (1行) 
    • timestampデータ型をYYYY/MM/DD HH24:MI:SS形式で表示します。
      select '2021-11-11 11:11:11 '::timestamp;
      サンプル結果:
      timestamp
      ---------------------
       2021/11/11 11:11:11
      (1行) 
    説明 to_timestamp(arg1 TEXT)arg1の形式は、nls_timestamp_formatで指定された形式とまったく同じである必要があります。 それ以外の場合、エラーまたは予期しない結果が返されます。
    # nls_timestamp_formatをYYYY/MM/DD HH:MI:SS.FFに設定します。 
    nls_timestamp_format = 'YYYY/MM/DD HH:MI:SS.FF' を設定します。# サンプル結果:
    セット
    #2000-03-28 08:00:00をYYYY/MM/DD HH:MI:SS.FF形式で変換し、to_timestamp関数を実行します。 
    to_timestamp('2000-03-28 08:00:00 ') を選択します。# サンプル結果:
    エラー: 日付 /時刻フィールドの範囲外の値: "2000-03-28 08:00:00"
    コンテキスト: PL/pgSQL関数to_timestamp(text) 7行目RETURN 
  • nls_timestamp_tz_形式

    nls_timestamp_tz_format関数の初期値は ''です。

    SETステートメントを実行して、nls_timestamp_tz_formatをサポートされているTIMESTAMPTZデータ型に設定できます。 形式が無効な場合は、エラーが報告されます。

    値をリセットするには、reset nls_timestamp_tz_format; 文を実行します。

    YYYY/MM/DD HH24:MI:DD TZH:TZM形式の例:
    • nls_timestamp_formatYYYY/MM/DD HH24:MI:DD TZH:TZMに設定します。
      nls_timestamp_tz_formatを 'YYYY/MM/DD HH24:MI:SS TZH:TZM';
      に設定します。サンプル結果:
      set
    • 2021-11-11 11:11:11 + 8YYYY/MM/DD HH24:MI:DD TZH:TZM形式で変換し、to_char関数を実行します。
      select to_char('2021-11-11 11:11:11 + 8 '::timestamptz);
      サンプル結果:
      to_char
      ----------------------------
       2021/11/11 03:11:11 00:00
      (1行) 
    • YYYY/MM/DD HH24:MI:DD TZH:TZM形式で2021/11/11 11:11:11 + 8を変換し、to_timestamp関数を実行します。
      select to_timestamp_tz('2021/11/11 11:11:11 + 8 '::text);
      サンプル結果:
      to_timestamp_tz
      ----------------------------
       2021/11/11 03:11:11 00:00
      (1行) 
    • timestamptzデータ型をYYYY/MM/DD HH24:MI:DD TZH:TZM形式で表示します。
      select '2021/11/11 11:11:11 + 8 '::timestamptz
      サンプル結果:
      timestamptz
      ----------------------------
       2021/11/11 03:11:11 00:00
      (1行) 
    説明 to_timestamp_tz(arg1 TEXT)arg1の形式は、nls_timestamp_formatで指定された形式とまったく同じである必要があります。 それ以外の場合、エラーまたは予期しない結果が返されます。
    # nls_timestamp_tz_formatをYYYY/MM/DD HH:MI:SS.FF TZH:TZMに設定する。set nls_timestamp_tz_format = 'YYYY/MM/DD HH:MI:SS.FF TZH:TZM';
    # サンプル結果:
    セット
    # YYYY/MM/DD HH:MI:SS.FF TZH:TZM形式で2000-03-28 08:00:00 + 8を変換し、to_timestamp関数を実行します。 
    to_timestampを選択します ('2000-03-28 08:00:00 + 8 ');
    # サンプル結果:
    エラー: 日付 /時刻フィールドの範囲外の値: "2000-03-28 08:00:00 + 8"
    コンテキスト: PL/pgSQL関数to_timestamp(text) 7行目RETURN