PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Dấu thời gian postgres now () không thay đổi khi tập lệnh hoạt động

Từ TFM, điểm nổi bật của tôi:

9.9.4. Ngày / Giờ hiện tại

PostgreSQL cung cấp một số hàm trả về giá trị liên quan đến ngày và giờ hiện tại. Các hàm chuẩn SQL này phân bổ các giá trị dựa trên thời gian bắt đầu của giao dịch hiện tại :

CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_TIME(precision)
CURRENT_TIMESTAMP(precision)
LOCALTIME
LOCALTIMESTAMP
LOCALTIME(precision)
LOCALTIMESTAMP(precision)

...

Vì các hàm này trả về thời gian bắt đầu của giao dịch hiện tại, nên giá trị của chúng không thay đổi trong quá trình giao dịch. Đây được coi là một tính năng:mục đích là cho phép một giao dịch viên duy nhất có khái niệm nhất quán về thời gian "hiện tại", để nhiều sửa đổi trong cùng một giao dịch có cùng dấu thời gian.

PostgreSQL cũng cung cấp các hàm trả về thời gian bắt đầu của câu lệnh hiện tại, cũng như thời gian hiện tại thực tế tại thời điểm mà hàm được gọi. Danh sách đầy đủ các hàm thời gian không theo chuẩn SQL là:

transaction_timestamp()
statement_timestamp()
clock_timestamp()
timeofday()
now()

transaction_timestamp() tương đương với CURRENT_TIMESTAMP , nhưng được đặt tên để phản ánh rõ ràng những gì nó trả về. statement_timestamp() trả về thời gian bắt đầu của câu lệnh hiện tại (cụ thể hơn là thời gian nhận được thông báo lệnh mới nhất từ ​​máy khách). statement_timestamp()transaction_timestamp() trả về cùng một giá trị trong lệnh đầu tiên của một giao dịch, nhưng có thể khác với các lệnh tiếp theo. clock_timestamp() trả về thời gian hiện tại thực tế , và do đó giá trị của nó thay đổi ngay cả trong một lệnh SQL. timeofday() là một hàm PostgreSQL lịch sử. Giống như clock_timestamp() , nó trả về thời gian hiện tại thực tế, nhưng dưới dạng chuỗi văn bản được định dạng chứ không phải là dấu thời gian có giá trị múi giờ. now() là một PostgreSQL truyền thống tương đương với transaction_timestamp() .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tránh bị khóa nhà cung cấp đám mây PostgreSQL

  2. Cách kiểm tra cơ sở dữ liệu PostgreSQL

  3. Chuyển đổi hex trong biểu diễn văn bản thành số thập phân

  4. Có thời gian chờ cho các kết nối PostgreSQL nhàn rỗi không?

  5. Các chỉ mục JSON của postgres có đủ hiệu quả so với các bảng chuẩn hóa cổ điển không?