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

2 cách trả lại dấu thời gian Unix trong SQLite

Dấu thời gian unix là số giây kể từ 1970-01-01 00:00:00 UTC. SQLite cung cấp cho chúng ta một số cách để lấy dấu thời gian unix.

STRFTIME() Chức năng

STRFTIME() hàm trả về một giá trị ngày và giờ ở định dạng được chỉ định. Chúng tôi có thể sử dụng thay thế chuỗi định dạng% s để trả về số giây kể từ 1970-01-01 00:00:00 UTC (tức là dấu thời gian unix):

SELECT STRFTIME('%s');

Kết quả:

1646695406

UNIXEPOCH() Chức năng

UNIXEPOCH() hàm được thiết kế đặc biệt để trả về một dấu thời gian unix. Hàm này đã được giới thiệu trong SQLite 3.38.0 (phát hành ngày 2 tháng 2 năm 2022), vì vậy nó sẽ chỉ hoạt động nếu bạn đang sử dụng SQLite 3.38.0 trở lên:

SELECT UNIXEPOCH();

Kết quả:

1646695411

Chúng tôi có thể thấy rằng các kết quả tương tự nhau, nhưng rõ ràng là có sự khác biệt do lượng thời gian tôi chạy mỗi ví dụ.

Kết hợp

Chỉ để chắc chắn rằng, họ lại ở đây. Ngoại trừ, lần này tôi chạy cả hai trong cùng một SELECT tuyên bố:

SELECT 
    UNIXEPOCH(),
    STRFTIME('%s');

Kết quả:

UNIXEPOCH()  STRFTIME('%s')
-----------  --------------
1646695558   1646695558    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CHỌN DISTINCT Không hoạt động Android SQLite

  2. SQLiteDiskIOException:mã lỗi 10:sửa lỗi I / O đĩa trên ICS và Samsung Nexus trên DROP TABLE

  3. Android- setPeriodic cho JobScheduler sẽ không hoạt động

  4. Làm cách nào để cập nhật một trường trong spinner của tôi với thông tin người dùng nhập vào EditText

  5. Định dạng kết quả truy vấn SQLite dưới dạng danh sách được phân tách bằng dấu phẩy