PostgreSQL的日期 時間函式

2021-08-17 09:37:21 字數 3078 閱讀 1027

公司裡有一台阿里雲rds資料庫用了ppas(postgres plustm advanced server),在處理日期/時間時遇到一些問題,花了點時間整理如下。

有時候,我們不需要這麼完整細緻的時間,自然就有

老實說,這是見過最奇怪的一套時間計算的方式了。

select now() + interval

'2 years';

select now() + interval

'2 year';

select now() + interval

'2 y';

select now() + interval

'2 y';

select now() + interval

'2y';

結果都是一樣的:

interval部分可以不寫,以此類推,月、日、小時、分鐘、秒的加減計算也同理。

abbreviation

meaning

yyears

mmonths (in the date part)

wweeks

ddays

hhours

mminutes (in the time part)

sseconds

值得一提的是單寫m會預設為分鐘的加減,針對月的加減建議寫完整的monthmonths或者簡寫mon

關於時間格式的模式,丟錶跑:

模式描述

hh一天的小時數(01-12)

hh12

一天的小時數(01-12)

hh24

一天的小時數(00-23)

mi分鐘(00-59)

ss秒(00-59)

ms毫秒(000-999)

us微秒(000000-999999)

am正午標識(大寫)

y,yyy

帶逗號的年(4和更多位)

yyyy

年(4和更多位)

yyy年的後三位

yy年的後兩位

y年的最後一位

month

全長大寫月份名(空白填充為9字元)

month

全長混合大小寫月份名(空白填充為9字元)

month

全長小寫月份名(空白填充為9字元)

mon大寫縮寫月份名(3字元)

mon縮寫混合大小寫月份名(3字元)

mon小寫縮寫月份名(3字元)

mm月份號(01-12)

day全長大寫日期名(空白填充為9字元)

day全長混合大小寫日期名(空白填充為9字元)

day全長小寫日期名(空白填充為9字元)

dy縮寫大寫日期名(3字元)

dy縮寫混合大小寫日期名(3字元)

dy縮寫小寫日期名(3字元)

ddd一年裡的日子(001-366)

dd乙個月裡的日子(01-31)

d一周裡的日子(1-7;週日是1)

w乙個月裡的週數(1-5)(第一周從該月第一天開始)

ww一年裡的週數(1-53)(第一周從該年的第一天開始)

當然也可以只輸入乙個引數,計算current_date與入參的時間間隔。

還可以截斷至指定精度

date_trunc(text, timestamp)

如圖所示,小時後的分和秒被置為0。

PostgreSQL日期和時間函式

1.獲取當前日期的函式和獲取當前時間的函式 current date函式的作用是將當前日期按照 yyyy mm dd 格式的值返回,具體格式根據函式用在字串或是數字預警中而定。current time函式的作用是將當前時間以 hh mm ss 的格式返回,具體格式根據函式用在字串或是數字語境中而定。...

PostgreSQL 日期與時間格式

參考共三種方法 select date 2018 03 05 select 2018 03 05 date select to date 2018 03 05 yyyy mm dd select timestamp 2018 03 05 10 23 43 select 2018 03 05 10 2...

pg日期轉周 PostgreSQL 日期 時間型別

時區和時區習慣不僅僅受地球幾何形狀的影響,還受到政治決定的影響。到了 19 世紀,全球的時區變得稍微標準化了些,但是還是易於遭受隨意的修改,部分是因為夏時制規則。postgresql 目前支援 1902 年到 2038 年之間的夏時制資訊 對應於傳統 unix 系統時間的完整跨度 如果時間超過這個範...