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