Masalah:
Anda ingin mendapatkan waktu saat ini di database PostgreSQL. Anda tidak ingin zona waktu diimbangi.
Solusi:
Kami akan menggunakan fungsi LOCALTIME
untuk mendapatkan waktu saat ini tanpa offset zona waktu.
SELECT LOCALTIME;
Berikut hasil querynya:
22:15:51.987914
Diskusi:
Fungsi PostgreSQL LOCALTIME
mengembalikan waktu saat ini pada mesin yang menjalankan PostgreSQL. Ini mengembalikannya sebagai tipe data waktu di 'hh:mm:ss.nnnnnn ' format. Dalam format ini:
- hh adalah 2 digit jam.
- mm adalah menit 2 digit.
- ss adalah 2 digit detik.
- nnnnnn adalah pecahan detik (dari nol hingga presisi 6 digit).
Seperti yang Anda perhatikan, fungsi ini tidak memiliki tanda kurung. Namun, jika Anda ingin menampilkan waktu dengan presisi tertentu, gunakan tanda kurung dengan bilangan bulat dari 0 hingga 6 sebagai argumen. Ini akan mengembalikan waktu dengan jumlah detik pecahan yang Anda inginkan. Misalnya, LOCALTIME(1)
menunjukkan hanya satu detik pecahan (yaitu satu tempat setelah desimal); 2 akan mengembalikan dua tempat, dll. Nilai default (tanpa tanda kurung atau tanda kurung kosong) adalah enam, yang juga merupakan jumlah maksimum pecahan detik. Lihat contoh berikut:
SELECT LOCALTIME(0) ;
Berikut hasil querynya:
21:12:06
Hasil ini tidak mengandung pecahan detik karena kami menempatkan 0 sebagai argumen.
LOCALTIME
mengembalikan waktu saat transaksi saat ini dimulai. Perbedaan antara LOCALTIME
dan CURRENT_TIME
adalah bahwa LOCALTIME tidak menyertakan offset zona waktu.