Di PostgreSQL, clock_timestamp()
adalah fungsi waktu non-SQL-standar yang mengembalikan tanggal dan waktu saat ini.
Pertimbangan penting dari fungsi ini adalah bahwa hasilnya berubah selama eksekusi pernyataan. Oleh karena itu, Anda bisa mendapatkan hasil yang berbeda di bagian pernyataan yang berbeda jika Anda memanggil fungsi tersebut beberapa kali dalam satu pernyataan.
Sintaks
Sintaksnya sesederhana yang didapat:
clock_timestamp()
Jadi itu tidak menerima parameter apa pun.
Contoh
Berikut adalah contoh dasar untuk didemonstrasikan.
SELECT clock_timestamp();
Hasil:
2020-07-01 09:53:22.823731+10
Beberapa Panggilan
Berikut adalah contoh dasar untuk menunjukkan bagaimana hasil dapat berbeda saat Anda memanggil fungsi beberapa kali dalam satu pernyataan SQL.
\x
SELECT
clock_timestamp(),
pg_sleep(5),
clock_timestamp(),
pg_sleep(3),
clock_timestamp();
Hasil (menggunakan keluaran vertikal):
clock_timestamp | 2020-07-01 09:58:29.744838+10 pg_sleep | clock_timestamp | 2020-07-01 09:58:34.813448+10 pg_sleep | clock_timestamp | 2020-07-01 09:58:37.859197+10
Di sini, saya menggunakan pg_sleep()
berfungsi untuk menunda eksekusi selama beberapa detik. Panggilan pertama menunda eksekusi selama 5 detik dan panggilan kedua menunda eksekusi selama 3 detik.
Kita dapat melihat bahwa setiap kali clock_timestamp()
dipanggil, waktu sebenarnya sedikit berbeda. Ini terutama karena pg_sleep()
fungsi, tetapi masih bisa berbeda tanpanya, tergantung pada seberapa cepat kueri berjalan.
Ini dia lagi tanpa pg_sleep()
panggilan.
SELECT
clock_timestamp(),
clock_timestamp(),
clock_timestamp();
Hasil (menggunakan keluaran vertikal):
clock_timestamp | 2020-07-01 10:03:10.828557+10 clock_timestamp | 2020-07-01 10:03:10.828558+10 clock_timestamp | 2020-07-01 10:03:10.828558+10
Contoh-contoh ini menggunakan output vertikal (biasanya disebut tampilan yang diperluas di psql) untuk memudahkan membaca hasilnya.
Anda dapat mengaktifkan tampilan yang diperluas di psql dengan \x
.