PostgreSQL中date_trunc函數(shù)的語法及一些示例
date_trunc
函數(shù)用于在 PostgreSQL 中將日期或時間戳值截?cái)啵ㄏ蛳氯≌┑街付ǖ木燃墑e。當(dāng)您想要忽略較小的時間單位(例如,小時、分鐘、秒),專注于較大的單位(例如,天、月、年)時,該函數(shù)非常有用。date_trunc
的語法如下:
date_trunc(unit, source);
unit
:指定要將源值截?cái)嗟降臅r間單位。可以是以下之一:'microseconds'
(微秒)'milliseconds'
(毫秒)'second'
或'seconds'
(秒)'minute'
或'minutes'
(分鐘)'hour'
或'hours'
(小時)'day'
或'days'
(天)'week'
或'weeks'
(周)'month'
或'months'
(月)'quarter'
或'quarters'
(季度)'year'
或'years'
(年)
通過指定 unit
,您可以將 source
的值截?cái)嗟剿璧臅r間精度。以下是一些示例:
-- 將時間戳截?cái)嗟椒昼? SELECT date_trunc('minute', current_timestamp); -- 2024-01-17 08:08:00 -- -- 將時間戳截?cái)嗟叫r SELECT date_trunc('hour', current_timestamp); -- 2024-01-17 08:00:00 -- -- 將時間戳截?cái)嗟教? SELECT date_trunc('day', current_timestamp); -- 2024-01-17 00:00:00 -- -- 將時間戳截?cái)嗟皆? SELECT date_trunc('month', TIMESTAMP '2024-02-16 14:32:45'); -- 2024-02-01 00:00:00 -- -- 將時間戳截?cái)嗟侥? 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'; 這些查詢將返回截?cái)嗟街付▎挝坏娜掌诨驎r間戳。
補(bǔ)充:
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查詢修改max_connections(最大連接數(shù))及其它配置詳解
postgresql數(shù)據(jù)庫最大連接數(shù)是系統(tǒng)允許的最大連接數(shù),當(dāng)數(shù)據(jù)庫并發(fā)用戶超過該連接數(shù)后,會導(dǎo)致新連接無法建立或者連接超時,這篇文章主要給大家介紹了關(guān)于PostgreSQL查詢修改max_connections(最大連接數(shù))及其它配置的相關(guān)資料,需要的朋友可以參考下2024-01-01PostgreSQL pg_ctl start啟動超時實(shí)例分析
這篇文章主要給大家介紹了關(guān)于PostgreSQL pg_ctl start啟動超時的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01Postgresql數(shù)據(jù)庫角色創(chuàng)建登錄詳解
這篇文章主要為大家介紹了Postgresql數(shù)據(jù)庫角色創(chuàng)建登錄詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02PostgreSQL 如何獲取當(dāng)前日期時間及注意事項(xiàng)
這篇文章主要介紹了PostgreSQL 如何獲取當(dāng)前日期時間及注意事項(xiàng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10PostgreSQL 打印日志信息所在的源文件和行數(shù)的實(shí)例
這篇文章主要介紹了PostgreSQL 打印日志信息所在的源文件和行數(shù)的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01pg中replace和translate的用法說明(數(shù)據(jù)少的中文排序)
這篇文章主要介紹了pg中replace和translate的用法說明(數(shù)據(jù)少的中文排序),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01PostgreSQL數(shù)據(jù)庫timestamp數(shù)據(jù)類型精度進(jìn)位問題解析
PostgreSQL是一款功能強(qiáng)大的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),起源于1986年的POSTGRES項(xiàng)目,它支持多種數(shù)據(jù)類型,包括數(shù)值類型、字符串類型、日期時間類型等,本文介紹PostgreSQL數(shù)據(jù)庫timestamp數(shù)據(jù)類型精度進(jìn)位問題,感興趣的朋友一起看看吧2024-11-11PostgreSQL常用字符串函數(shù)與示例說明小結(jié)
文章介紹了PostgreSQL中常用字符串函數(shù)的使用方法,包括空值處理、字符串位置查詢、長度計(jì)算、大小寫轉(zhuǎn)換、去除空格、連接、替換、匹配、拆分和截取等操作,感興趣的朋友跟隨小編一起看看吧2024-11-11