PolarDB for PostgreSQL (Kompatibel dengan Oracle) mendukung fungsi nls_timestamp_format dan nls_timestamp_tz_format.
Ikhtisar
- Fungsi
nls_timestamp_formatmengontrol format konversi dari fungsipg_catalog.to_char(arg1 timestamp)danpg_catalog.to_timestamp(arg1 text), serta format keluaran tipe datatimestamp. - Fungsi
nls_timestamp_tz_formatmengontrol format konversi dari fungsipg_catalog.to_char(arg1 timestamptz)danpg_catalog.to_timestamp_tz(arg1 text), serta format keluaran tipe datatimestamptz.
TIMESTAMPdanTIMESTAMP without time zoneadalah tipe data yang sama.TIMESTAMPTZdanTIMESTAMPTZ with time zoneadalah tipe data yang sama.
Penggunaan
- nls_timestamp_format
Nilai awal dari
nls_timestamp_formatadalah''.Anda dapat mengeksekusi pernyataan
SETuntuk mengaturnls_timestamp_formatke tipe dataTIMESTAMPyang didukung. Jika format tidak valid, akan dilaporkan kesalahan.Anda dapat mengatur ulang nilai tersebut dengan mengeksekusi pernyataan
RESET nls_timestamp_format;.Contoh formatYYYY/MM/DD HH24:MI:SS:- Atur
nls_timestamp_formatmenjadiYYYY/MM/DD HH24:MI:SS.
Hasil sampel:set nls_timestamp_format to 'YYYY/MM/DD HH24:MI:SS';set - Konversikan
2021-11-11 11:11:11dalam formatYYYY/MM/DD HH24:MI:SSlalu jalankan fungsi to_char.
Hasil sampel:select to_char('2021-11-11 11:11:11'::timestamp);to_char --------------------- 2021/11/11 11:11:11 (1 baris) - Konversikan
2021-11-11 11:11:11dalam formatYYYY/MM/DD HH24:MI:SSlalu jalankan fungsi to_timestamp.
Hasil sampel:select to_timestamp('2021/11/11 11:11:11'::text);to_timestamp --------------------- 2021/11/11 11:11:11 (1 baris) - Tampilkan tipe data
timestampdalam formatYYYY/MM/DD HH24:MI:SS.
Hasil sampel:select '2021-11-11 11:11:11'::timestamp;timestamp --------------------- 2021/11/11 11:11:11 (1 baris)
Catatan Format dariarg1dalamto_timestamp(arg1 TEXT)harus persis sama dengan format yang ditentukan olehnls_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 - Atur
- nls_timestamp_tz_format
Nilai awal dari fungsi
nls_timestamp_tz_formatadalah''.Anda dapat mengeksekusi pernyataan
SETuntuk mengaturnls_timestamp_tz_formatke tipe dataTIMESTAMPTZyang didukung. Jika format tidak valid, akan dilaporkan kesalahan.Anda dapat mengatur ulang nilai tersebut dengan mengeksekusi pernyataan
reset nls_timestamp_tz_format;.Contoh formatYYYY/MM/DD HH24:MI:DD TZH:TZM:- Atur
nls_timestamp_formatmenjadiYYYY/MM/DD HH24:MI:DD TZH:TZM.
Hasil sampel:set nls_timestamp_tz_format to 'YYYY/MM/DD HH24:MI:SS TZH:TZM';set - Konversikan
2021-11-11 11:11:11 +8dalam formatYYYY/MM/DD HH24:MI:DD TZH:TZMlalu jalankan fungsi to_char.
Hasil sampel:select to_char('2021-11-11 11:11:11 +8'::timestamptz);to_char ---------------------------- 2021/11/11 03:11:11 +00:00 (1 baris) - Konversikan
2021/11/11 11:11:11 +8dalam formatYYYY/MM/DD HH24:MI:DD TZH:TZMlalu jalankan fungsi to_timestamp.
Hasil sampel:select to_timestamp_tz('2021/11/11 11:11:11 +8'::text);to_timestamp_tz ---------------------------- 2021/11/11 03:11:11 +00:00 (1 baris) - Tampilkan tipe data
timestamptzdalam formatYYYY/MM/DD HH24:MI:DD TZH:TZM.
Hasil sampel:select '2021/11/11 11:11:11 +8'::timestamptztimestamptz ---------------------------- 2021/11/11 03:11:11 +00:00 (1 baris)
Catatan Format dariarg1dalamto_timestamp_tz(arg1 TEXT)harus persis sama dengan format yang ditentukan olehnls_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 - Atur