PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana clock_timestamp() Bekerja di PostgreSQL

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 .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa perbedaan antara `->>` dan `->` di Postgres SQL?

  2. Nomor seri per grup baris untuk kunci majemuk

  3. PostgreSQL:INSERT Serbaguna

  4. Cara Melindungi Database PostgreSQL Anda dari Serangan Cyber ​​dengan SQL Firewall

  5. Menggunakan pt-pg-summary Percona Toolkit untuk PostgreSQL