使用postgresql獲取當前或某一時間段的年月日
最近寫代碼遇到關于獲取某一時間年月日的需求,特此寫一篇文章便于自己記錄
1.獲取當前時間
select now(); --返回:2022-12-07 15:53:15.881711+08 select current_date; --返回:2022-12-07 select current_timestamp; --返回:2022-12-07 15:56:28.729581+08 select current_time; --返回:15:56:50.155444+08
2.獲取當前月份的第一天
select date_trunc('month',current_date)::DATE; --返回:2022-12-01
3.根據當前日期獲取次日、次月、前年
select (current_date + INTERVAL '1 day')::DATE; --根據當前日期獲取次日,返回:2022-12-08 select date_trunc('month',(current_date + INTERVAL '1 month'))::DATE; --根據當前日期獲取次月,返回:2023-01-01 select (current_date - INTERVAL '2 YEAR')::DATE; --根據當前日期獲取前年,返回:2020-12-07
如果要獲取“周”的周期的時間 把day、month或year改成week即可,2 year那里加不加s都可以執(zhí)行。
4.根據第三步的內容,我們還可以獲取上一月/年的最后一天
select (date_trunc('month',current_date) - interval'1 day')::DATE; --首先用date_trunc函數(shù)獲取當月的第一天的日期,然后再倒退一天,返回:2022-11-30 select (date_trunc('year',current_date) - interval'1 day')::DATE; --同上,首先用date_trunc函數(shù)獲取今年的第一天的日期,然后再倒退一天,返回:2021-12-31
這里注意如果我們要獲取上一年前一個月的第一天日期或最后一天日期,即我現(xiàn)在的時間是2022-12-07,我想獲取2021年11月第一天的日期或最后一天,寫法應該是
select (date_trunc('year',current_date) - interval'2 month')::DATE; --從當前日期2022-12-07獲取2021年11月第一天的日期,返回:2021-11-01 select ((date_trunc('year',current_date) - interval'1 month')-INTERVAL '1 day')::DATE; --從當前日期2022-12-07獲取2021年11月最后一天的日期,返回:2021-11-30 --不知道有沒有更簡易的方法,希望學習下
5.根據第四步的思路,我們可以獲取當月最后一天的日期
select (date_trunc('month',current_date) + interval'1 month - 1 day')::DATE; --首先用date_trunc函數(shù)獲取當月的第一天的日期,接著再加一個月,最后再減一天,返回:2022-12-31
6.雖然前幾步最后都轉成了日期格式,但也可以截取任意日期的時分秒
SELECT substr(to_char(CURRENT_TIMESTAMP, 'yyyy-mm-dd hh24:mi:ss'),12,8); --返回:16:19:34
總結
到此這篇關于使用postgresql獲取當前或某一時間段的年月日的文章就介紹到這了,更多相關postgresql獲取年月日內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
postgreSQL如何設置數(shù)據庫執(zhí)行超時時間
本文我們將深入探討PostgreSQL數(shù)據庫中的一個關鍵設置SET?statement_timeout,這個設置對于管理數(shù)據庫性能和優(yōu)化查詢執(zhí)行時間非常重要,讓我們一起來了解它的工作原理以及如何有效地使用它2024-01-01Docker環(huán)境實現(xiàn)PostgreSQL自動備份的流程步驟
本文詳細介紹了如何在Ubuntu系統(tǒng)中安裝Docker,然后在Docker容器內安裝和配置PostgreSQL數(shù)據庫,接著,重點講解了如何在PostgreSQL中安裝和配置pg_rman工具,用于數(shù)據庫的備份和恢復操作,文章還涵蓋了創(chuàng)建定時備份任務以及刪除備份的步驟,需要的朋友可以參考下2024-11-11PostgreSQL中調用存儲過程并返回數(shù)據集實例
這篇文章主要介紹了PostgreSQL中調用存儲過程并返回數(shù)據集實例,本文給出一創(chuàng)建數(shù)據表、插入測試數(shù)據、創(chuàng)建存儲過程、調用創(chuàng)建存儲過程和運行效果完整例子,需要的朋友可以參考下2015-01-01使用PostGIS完成兩點間的河流軌跡及流經長度的計算(推薦)
這篇文章主要介紹了使用PostGIS完成兩點間的河流軌跡及流經長度的計算,使用POSTGIS及其擴展pgrouting計算給定兩點間的河流流經區(qū)域和河流長度,需要的朋友可以參考下2022-01-01PostgreSQL教程(五):函數(shù)和操作符詳解(1)
這篇文章主要介紹了PostgreSQL教程(五):函數(shù)和操作符詳解(1),本文講解了邏輯操作符、比較操作符、數(shù)學函數(shù)和操作符、三角函數(shù)列表、字符串函數(shù)和操作符等內容,需要的朋友可以參考下2015-05-05PostgreSQL實現(xiàn)按年、月、日、周、時、分、秒的分組統(tǒng)計
這篇文章介紹了PostgreSQL實現(xiàn)按年、月、日、周、時、分、秒分組統(tǒng)計的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06