Tôi có một bảng trong đó cột có kiểu dữ liệu timestamp
Trong đó chứa nhiều bản ghi 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
Tôi phải làm nó như thế nào?
Tôi có một bảng trong đó cột có kiểu dữ liệu timestamp
Trong đó chứa nhiều bản ghi 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
Tôi phải làm nó như thế nào?
Câu trả lời:
Giả sử bạn thực sự muốn nói timestamp
vì không có datetime
trong Postgres
Truyền cột dấu thời gian đến một ngày, điều này sẽ xóa phần thời gian:
select *
from the_table
where the_timestamp_column::date = date '2015-07-15';
Điều này sẽ trả về 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 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';
datetime
loại nào trong Postgres. Cótimestamp
, có và không có múi giờ.