Saya tidak yakin padanan apa yang Anda cari, tetapi:
- tidak ada presisi nanodetik
di PostgreSQL:Rentang p yang diizinkan (presisi) dari 0 hingga 6 untuk
timestamp
daninterval
jenis. - beberapa bagian tanggal termasuk yang lain:yaitu
milliseconds
berisiseconds
µseconds
berisimilliseconds
(dan dengan demikianseconds
juga).
Jika Anda mencari nilai yang terpisah secara logis, Anda perlu menghitung, mis.:
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
Atau, jika Anda ingin mengetahui seberapa jauh stempel waktu dalam minggu sebenarnya, Anda dapat menggunakan timestamp
(dan interval
) aritmatika juga:
select ts - date_trunc('week', ts) time_elapsed_since_monday
(Meskipun agak sulit untuk menghitung ini selama berminggu-minggu yang dimulai pada hari Minggu:date_trunc
bekerja hanya dengan ISO minggu).
http://rextester.com/SOOO48159