Tôi không chắc bạn đang tìm kiếm thứ gì tương đương, nhưng:
- không có độ chính xác nano giây
trong PostgreSQL: Phạm vi cho phép của p (precision) là từ 0 đến 6 cho
timestampvàintervalcác loại. - một số phần ngày bao gồm các phần khác:tức là
millisecondschứasecondsµsecondschứamilliseconds(và do đósecondsquá).
Nếu bạn đang tìm kiếm các giá trị tách biệt một cách hợp lý, bạn sẽ cần thực hiện một số phép toán, ví dụ:
select extract(dow from ts) dow, -- day-of-week (where weeks start on sunday, which is 0)
extract(isodow from ts) isodow, -- ISO day-of-week (where weeks start on monday, which is 1)
floor(extract(seconds from ts))::int only_seconds,
floor(extract(milliseconds from ts))::int - 1000 * floor(extract(seconds from ts))::int only_milliseconds,
floor(extract(microseconds from ts))::int - 1000 * floor(extract(milliseconds from ts))::int only_microseconds,
extract(microseconds from ts) all_microseconds
Hoặc, nếu bạn đang xem dấu thời gian còn bao xa trong tuần thực tế của nó, bạn có thể sử dụng timestamp (và interval ) số học nữa:
select ts - date_trunc('week', ts) time_elapsed_since_monday
(Mặc dù khá khó để tính toán điều này cho các tuần bắt đầu vào chủ nhật:date_trunc chỉ hoạt động với ISO tuần).
https://rextester.com/SOOO48159