PostgreSQL中date_trunc函數(shù)的語法及一些示例
date_trunc
函數(shù)用于在 PostgreSQL 中將日期或時間戳值截斷(向下取整)到指定的精度級別。當您想要忽略較小的時間單位(例如,小時、分鐘、秒),專注于較大的單位(例如,天、月、年)時,該函數(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); -- -- 一天結束 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 行記錄)
總結
到此這篇關于PostgreSQL中date_trunc函數(shù)的語法及一些示例的文章就介紹到這了,更多相關PGSQL date_trunc函數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
PostgreSQL查詢修改max_connections(最大連接數(shù))及其它配置詳解
postgresql數(shù)據(jù)庫最大連接數(shù)是系統(tǒng)允許的最大連接數(shù),當數(shù)據(jù)庫并發(fā)用戶超過該連接數(shù)后,會導致新連接無法建立或者連接超時,這篇文章主要給大家介紹了關于PostgreSQL查詢修改max_connections(最大連接數(shù))及其它配置的相關資料,需要的朋友可以參考下2024-01-01PostgreSQL pg_ctl start啟動超時實例分析
這篇文章主要給大家介紹了關于PostgreSQL pg_ctl start啟動超時的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-01-01Postgresql數(shù)據(jù)庫角色創(chuàng)建登錄詳解
這篇文章主要為大家介紹了Postgresql數(shù)據(jù)庫角色創(chuàng)建登錄詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02PostgreSQL 打印日志信息所在的源文件和行數(shù)的實例
這篇文章主要介紹了PostgreSQL 打印日志信息所在的源文件和行數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01pg中replace和translate的用法說明(數(shù)據(jù)少的中文排序)
這篇文章主要介紹了pg中replace和translate的用法說明(數(shù)據(jù)少的中文排序),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01PostgreSQL數(shù)據(jù)庫timestamp數(shù)據(jù)類型精度進位問題解析
PostgreSQL是一款功能強大的開源關系型數(shù)據(jù)庫管理系統(tǒng),起源于1986年的POSTGRES項目,它支持多種數(shù)據(jù)類型,包括數(shù)值類型、字符串類型、日期時間類型等,本文介紹PostgreSQL數(shù)據(jù)庫timestamp數(shù)據(jù)類型精度進位問題,感興趣的朋友一起看看吧2024-11-11