PostgreSQL中date_trunc函數(shù)的語法及一些示例
date_trunc 函數(shù)用于在 PostgreSQL 中將日期或時間戳值截斷(向下取整)到指定的精度級別。當(dāng)您想要忽略較小的時間單位(例如,小時、分鐘、秒),專注于較大的單位(例如,天、月、年)時,該函數(shù)非常有用。date_trunc 的語法如下:
date_trunc(unit, source);
unit:指定要將源值截斷到的時間單位??梢允且韵轮唬?'microseconds'(微秒)'milliseconds'(毫秒)'second'或'seconds'(秒)'minute'或'minutes'(分鐘)'hour'或'hours'(小時)'day'或'days'(天)'week'或'weeks'(周)'month'或'months'(月)'quarter'或'quarters'(季度)'year'或'years'(年)
通過指定 unit,您可以將 source 的值截斷到所需的時間精度。以下是一些示例:
-- 將時間戳截斷到分鐘
SELECT date_trunc('minute', current_timestamp);
-- 2024-01-17 08:08:00
--
-- 將時間戳截斷到小時
SELECT date_trunc('hour', current_timestamp);
-- 2024-01-17 08:00:00
--
-- 將時間戳截斷到天
SELECT date_trunc('day', current_timestamp);
-- 2024-01-17 00:00:00
--
-- 將時間戳截斷到月
SELECT date_trunc('month', TIMESTAMP '2024-02-16 14:32:45');
-- 2024-02-01 00:00:00
--
-- 將時間戳截斷到年
SELECT date_trunc('year', TIMESTAMP '2024-02-16 14:32:45');
-- 2024-01-01 00:00:00
--
-- 一天開始
SELECT date_trunc('day', current_timestamp);
--
-- 一天結(jié)束
SELECT date_trunc('day', current_timestamp) + INTERVAL '1 day' - interval '1 second';
這些查詢將返回截斷到指定單位的日期或時間戳。補充:
me=# select date_trunc('day',date '2018-05-15 09:00:00+08') + interval '9 h';
?column?
------------------------
2018-05-15 09:00:00+08
(1 行記錄)
me=# select date_trunc('day',date '2018-05-15 14:09:04.127444+08') + interval '9 h';
?column?
------------------------
2018-05-15 09:00:00+08
(1 行記錄)
me=# select date_trunc('day',date '2018-05-14 14:09:04.127444+08') + interval '9 h';
?column?
------------------------
2018-05-14 09:00:00+08
(1 行記錄)
me=# select date_trunc('day',time '2018-05-14 14:09:04.127444+08') + interval '9 h';
?column?
----------
09:00:00
(1 行記錄)
me=# select date_trunc('day',timestamp '2018-05-14 14:09:04.127444+08') + interval '9 h';
?column?
---------------------
2018-05-14 09:00:00
(1 行記錄)
me=# select date_trunc('day',timestamptz '2018-05-14 14:09:04.127444+08') + interval '9 h';
?column?
------------------------
2018-05-14 09:00:00+08
(1 行記錄)
me=# select date_trunc('day',timestamptz '2018-05-14 14:09:04.127444+08'+ interval '9 h');
date_trunc
------------------------
2018-05-14 00:00:00+08
(1 行記錄)
總結(jié)
到此這篇關(guān)于PostgreSQL中date_trunc函數(shù)的語法及一些示例的文章就介紹到這了,更多相關(guān)PGSQL date_trunc函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用PostgreSQL數(shù)據(jù)庫進行中文全文搜索的實現(xiàn)方法
目前在PostgreSQL中常見的兩個中文分詞插件是zhparser和pg_jieba,這里我們使用zhparser,插件的編譯和安裝請查看官方文檔 ,安裝還是比較復(fù)雜的,建議找個現(xiàn)成docker鏡像,本文給大家介紹了在PostgreSQL數(shù)據(jù)庫使用中文全文搜索,需要的朋友可以參考下2023-09-09
如何將excel表格數(shù)據(jù)導(dǎo)入postgresql數(shù)據(jù)庫
這篇文章主要介紹了如何將excel表格數(shù)據(jù)導(dǎo)入postgresql數(shù)據(jù)庫,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
詳解PostgreSQL?14.4安裝使用及一些安裝的異常問題
這篇文章主要介紹了PostgreSQL?14.4的安裝以及使用以及一些安裝的異常,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07
postgresql高級應(yīng)用之行轉(zhuǎn)列&匯總求和的實現(xiàn)思路
這篇文章主要介紹了postgresql高級應(yīng)用之行轉(zhuǎn)列&匯總求和的實現(xiàn)思路,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05
PostgreSQL13基于流復(fù)制搭建后備服務(wù)器的方法
這篇文章主要介紹了PostgreSQL13基于流復(fù)制搭建后備服務(wù)器,后備服務(wù)器作為主服務(wù)器的數(shù)據(jù)備份,可以保障數(shù)據(jù)不丟,而且在主服務(wù)器發(fā)生故障后可以提升為主服務(wù)器繼續(xù)提供服務(wù)。需要的朋友可以參考下2022-01-01

