Tôi có một bàn nơi cột là của datatype timestamp
Postgres mệnh đề where so sánh timestamp
nào chứa các bản ghi nhiều kỷ lục cho một ngày Tôi muốn chọn tất cả các hàng tương ứng với ngày
Làm thế nào để làm điều đó?
Tôi có một bàn nơi cột là của datatype timestamp
Postgres mệnh đề where so sánh timestamp
nào chứa các bản ghi nhiều kỷ lục cho một ngày Tôi muốn chọn tất cả các hàng tương ứng với ngày
Làm thế nào để làm điều đó?
Giả sử bạn thực sự có nghĩa timestamp
vì không có datetime
trong Postgres
Cast cột dấu thời gian để hẹn hò, mà sẽ xóa phần thời gian:
select *
from the_table
where the_timestamp_column::date = date '2015-07-15';
này sẽ trả lại tất cả các hàng từ Ngày 15 tháng 7.
Lưu ý rằng ở trên sẽ không sử dụng chỉ mục trên the_timestamp_column
. Nếu hiệu suất là quan trọng, bạn cần phải tạo chỉ mục trên biểu thức đó hoặc sử dụng điều kiện phạm vi:
select *
from the_table
where the_timestamp_column >= timestamp '2015-07-15 00:00:00'
and the_timestamp_column < timestamp '2015-07-16 00:00:00';
Trong mệnh đề where, tôi phải chuyển vị trí của '=' và '>' 'trong đó the_timestamp_column> = timestamp' – Manoj
@Manoj: vâng, tất nhiên, cảm ơn. –
Giải pháp tuyệt vời .... Nó hoạt động –
Không có loại 'datetime' trong Postgres. Có 'dấu thời gian', có và không có múi giờ. –