Saat bekerja dengan interval tipe data di PostgreSQL, Anda dapat mengubah cara output interval diformat.
Anda memiliki empat pilihan format yang dapat digunakan untuk menghasilkan interval.
Format keluaran dari tipe interval dapat diatur ke salah satu gaya berikut:
sql_standard
postgres
postgres_verbose
iso_8601
Gaya default adalah postgres
.
Untuk mengubah format interval Anda, gunakan SET intervalstyle
memerintah.
Contoh
Contoh berikut menunjukkan output dari make_interval()
saat menggunakan gaya keluaran yang berbeda.
sql_standard
Gaya ini sesuai dengan spesifikasi standar SQL untuk string literal interval, jika nilai interval memenuhi batasan standar (hanya tahun-bulan atau siang hari saja, tanpa pencampuran komponen positif dan negatif).
Jika tidak, output akan terlihat seperti string literal tahun-bulan standar diikuti oleh string literal siang hari, dengan tanda eksplisit ditambahkan untuk membedakan interval tanda campuran.
Berikut ini contoh penggunaan tahun-bulan.
SET intervalstyle = 'sql_standard';
SELECT make_interval(years => 1, months => 2);
Hasil:
1-2
Di bawah ini adalah contoh lain. Kali ini saya tentukan tahun, bulan, minggu, hari, jam, menit, dan detik.
SET intervalstyle = 'sql_standard';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);
Hasil:
+1-2 +25 +5:06:07
postgres
postgress
adalah pengaturan default.
Gaya ini cocok dengan keluaran rilis Postgres sebelum 8.4 saat DateStyle
parameter disetel ke ISO
.
SET intervalstyle = 'postgres';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);
Hasil:
1 year 2 mons 25 days 05:06:07
postgres_verbose
Gaya ini cocok dengan keluaran rilis Postgres sebelum 8.4 saat DateStyle
parameter disetel ke non-ISO
keluaran.
SET intervalstyle = 'postgres_verbose';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);
Hasil:
@ 1 year 2 mons 25 days 5 hours 6 mins 7 secs
iso_8601
Gaya ini cocok dengan "format dengan penanda" yang dijelaskan di bagian 4.4.3.2 dari standar ISO 8601.
SET intervalstyle = 'iso_8601';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);
Hasil:
P1Y2M25DT5H6M7S