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

Nhận dấu thời gian từ các cột ngày và giờ nối

datetime các loại

Nếu Day của bạn thuộc loại date Time của bạn thuộc loại time , có một giải pháp rất đơn giản:

SELECT EXTRACT(EPOCH FROM (day + time));

Bạn chỉ có thể thêm datetime để lấy timestamp [without time zone] (được diễn giải theo cài đặt múi giờ trong phiên của bạn).

Và, nói đúng ra, việc trích xuất kỷ nguyên không liên quan đến câu hỏi của bạn.
date + time dẫn đến timestamp , thế là xong.

Các loại chuỗi

Nếu bạn đang nói về chuỗi ký tự hoặc text / varchar cột, sử dụng:

SELECT EXTRACT(EPOCH FROM ('2013-07-18' || ' ' || '21:52:12')::timestamp);

hoặc

SELECT EXTRACT(EPOCH FROM cast('2013-07-18' ||' '|| '21:52:12' AS timestamp));

Biểu mẫu của bạn không làm việc

SELECT EXTRACT(EPOCH FROM TIMESTAMP ('2013-07-18' || ' ' || '21:52:12'));

Điều này sẽ hoạt động:

SELECT EXTRACT(EPOCH FROM "timestamp" ('2013-07-18' || ' ' || '21:52:12'));

Tôi trích dẫn hướng dẫn về kiểu phôi :

Nhấn mạnh đậm của tôi.
Ý chính của nó:thay vì sử dụng một trong hai biến thể cú pháp đầu tiên.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phiên bản trình điều khiển JDBC và phiên bản của DB có phải khớp chính xác không?

  2. sqlalchemy.exc.NoSuchModuleError:Không thể tải plugin:sqlalchemy.dialects:postgres

  3. Làm thế nào để chuyển đổi từ giờ địa phương sang UTC?

  4. Cách khắc phục tập lệnh Sao lưu tự động cho postgres [Window]?

  5. Bộ lập lịch sự kiện trong PostgreSQL?