All Products
Search
Document Center

PolarDB:nls_timestamp(_tz)_format

Last Updated:Jul 02, 2025

PolarDB for PostgreSQL (Kompatibel dengan Oracle) mendukung fungsi nls_timestamp_format dan nls_timestamp_tz_format.

Ikhtisar

  • Fungsi nls_timestamp_format mengontrol format konversi dari fungsi pg_catalog.to_char(arg1 timestamp) dan pg_catalog.to_timestamp(arg1 text), serta format keluaran tipe data timestamp.
  • Fungsi nls_timestamp_tz_format mengontrol format konversi dari fungsi pg_catalog.to_char(arg1 timestamptz) dan pg_catalog.to_timestamp_tz(arg1 text), serta format keluaran tipe data timestamptz.
Catatan
  • TIMESTAMP dan TIMESTAMP without time zone adalah tipe data yang sama.
  • TIMESTAMPTZ dan TIMESTAMPTZ with time zone adalah tipe data yang sama.

Penggunaan

  • nls_timestamp_format

    Nilai awal dari nls_timestamp_format adalah ''.

    Anda dapat mengeksekusi pernyataan SET untuk mengatur nls_timestamp_format ke tipe data TIMESTAMP yang didukung. Jika format tidak valid, akan dilaporkan kesalahan.

    Anda dapat mengatur ulang nilai tersebut dengan mengeksekusi pernyataan RESET nls_timestamp_format;.

    Contoh format YYYY/MM/DD HH24:MI:SS:
    • Atur nls_timestamp_format menjadi YYYY/MM/DD HH24:MI:SS.
      set nls_timestamp_format to 'YYYY/MM/DD HH24:MI:SS';
      Hasil sampel:
      set
    • Konversikan 2021-11-11 11:11:11 dalam format YYYY/MM/DD HH24:MI:SS lalu jalankan fungsi to_char.
      select to_char('2021-11-11 11:11:11'::timestamp);
      Hasil sampel:
             to_char
      ---------------------
       2021/11/11 11:11:11
      (1 baris)
    • Konversikan 2021-11-11 11:11:11 dalam format YYYY/MM/DD HH24:MI:SS lalu jalankan fungsi to_timestamp.
      select to_timestamp('2021/11/11 11:11:11'::text);
      Hasil sampel:
          to_timestamp
      ---------------------
       2021/11/11 11:11:11
      (1 baris)
    • Tampilkan tipe data timestamp dalam format YYYY/MM/DD HH24:MI:SS.
      select '2021-11-11 11:11:11'::timestamp;
      Hasil sampel:
            timestamp
      ---------------------
       2021/11/11 11:11:11
      (1 baris)
    Catatan Format dari arg1 dalam to_timestamp(arg1 TEXT) harus persis sama dengan format yang ditentukan oleh nls_timestamp_format. Jika tidak, kesalahan atau hasil tak terduga akan dikembalikan.
    # Atur nls_timestamp_format ke YYYY/MM/DD HH:MI:SS.FF. 
    set nls_timestamp_format = 'YYYY/MM/DD HH:MI:SS.FF';
    # Hasil sampel:
    set
    # Konversikan 2000-03-28 08:00:00 dalam format YYYY/MM/DD HH:MI:SS.FF lalu jalankan fungsi to_timestamp. 
    select to_timestamp('2000-03-28 08:00:00');
    # Hasil sampel:
    ERROR:  date/time field value out of range: "2000-03-28 08:00:00"
    CONTEXT:  PL/pgSQL function to_timestamp(text) line 7 at RETURN
  • nls_timestamp_tz_format

    Nilai awal dari fungsi nls_timestamp_tz_format adalah ''.

    Anda dapat mengeksekusi pernyataan SET untuk mengatur nls_timestamp_tz_format ke tipe data TIMESTAMPTZ yang didukung. Jika format tidak valid, akan dilaporkan kesalahan.

    Anda dapat mengatur ulang nilai tersebut dengan mengeksekusi pernyataan reset nls_timestamp_tz_format;.

    Contoh format YYYY/MM/DD HH24:MI:DD TZH:TZM:
    • Atur nls_timestamp_format menjadi YYYY/MM/DD HH24:MI:DD TZH:TZM.
      set nls_timestamp_tz_format to 'YYYY/MM/DD HH24:MI:SS TZH:TZM';
      Hasil sampel:
      set
    • Konversikan 2021-11-11 11:11:11 +8 dalam format YYYY/MM/DD HH24:MI:DD TZH:TZM lalu jalankan fungsi to_char.
      select to_char('2021-11-11 11:11:11 +8'::timestamptz);
      Hasil sampel:
                to_char
      ----------------------------
       2021/11/11 03:11:11 +00:00
      (1 baris)
    • Konversikan 2021/11/11 11:11:11 +8 dalam format YYYY/MM/DD HH24:MI:DD TZH:TZM lalu jalankan fungsi to_timestamp.
      select to_timestamp_tz('2021/11/11 11:11:11 +8'::text);
      Hasil sampel:
            to_timestamp_tz
      ----------------------------
       2021/11/11 03:11:11 +00:00
      (1 baris)
    • Tampilkan tipe data timestamptz dalam format YYYY/MM/DD HH24:MI:DD TZH:TZM.
      select '2021/11/11 11:11:11 +8'::timestamptz
      Hasil sampel:
              timestamptz
      ----------------------------
       2021/11/11 03:11:11 +00:00
      (1 baris)
    Catatan Format dari arg1 dalam to_timestamp_tz(arg1 TEXT) harus persis sama dengan format yang ditentukan oleh nls_timestamp_format. Jika tidak, kesalahan atau hasil tak terduga akan dikembalikan.
    # Atur nls_timestamp_tz_format ke YYYY/MM/DD HH:MI:SS.FF TZH:TZM. 
    set nls_timestamp_tz_format = 'YYYY/MM/DD HH:MI:SS.FF TZH:TZM';
    # Hasil sampel:
    set
    # Konversikan 2000-03-28 08:00:00 +8 dalam format YYYY/MM/DD HH:MI:SS.FF TZH:TZM lalu eksekusi fungsi to_timestamp. 
    select to_timestamp('2000-03-28 08:00:00 +8');
    # Hasil sampel:
    ERROR:  date/time field value out of range: "2000-03-28 08:00:00 +8"
    CONTEXT:  PL/pgSQL function to_timestamp(text) line 7 at RETURN