日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Postgresql时间处理

發(fā)布時(shí)間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Postgresql时间处理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

時(shí)間/日期操作符

日期/時(shí)間函數(shù)

EXTRACT函數(shù)

綜合示例


時(shí)間/日期操作符

?

操作符例子結(jié)果
+date '2011-09-28' + integer '7'date '2011-10-05'
+date '2011-09-18' + interval '1 hour'timestamp '2011-09-18 01:00'
+date '2011-09-18' + time '02:00'timestamp '2011-09-18 02:00'
+interval '1 day' + interval '1 hour'interval '1 day 01:00'
+timestamp '2011-09-28 01:00' + interval '23 hours'timestamp '2011-09-29 00:00'
+time '01:00' + interval '3 hours'time '04:00'
-- interval '23 hours'interval '-23:00'
-date '2001-10-01' - date '2001-09-28'integer '3'
-date '2011-10-01' - integer '7'date '2011-09-24'
-date '2011-09-28' - interval '1 hour'timestamp '2011-09-27 23:00'
-time '05:00' - time '03:00'interval '02:00'
-time '05:00' - interval '2 hours'time '03:00'
-timestamp '2011-09-28 23:00' - interval '23 hours'timestamp '2011-09-28 00:00'
-interval '1 day' - interval '1 hour'interval '23:00'
-timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00'interval '1 day 15:00'
*interval '1 hour' * double precision '3.5'interval '03:30'
/interval '1 hour' / double precision '1.5'interval '00:40'

?

日期/時(shí)間函數(shù)

函數(shù)返回類型描述例子結(jié)果
age(timestamp, timestamp)interval減去參數(shù),生成一個(gè)使用年、月的"符號(hào)化"的結(jié)果age('2001-04-10', timestamp '1957-06-13')43 years 9 mons 27 days
age(timestamp)interval從current_date減去得到的數(shù)值age(timestamp '1957-06-13')43 years 8 mons 3 days
current_datedate今天的日期??
current_timetime現(xiàn)在的時(shí)間??
current_timestamptimestamp日期和時(shí)間??
date_part(text, timestamp)double獲取子域(等效于extract)date_part('hour', timestamp '2012-05-06 10:20:30')10
date_part(text, interval)double獲取子域(等效于extract)date_part('month', interval '2 years 3 months')3
date_trunc(text, timestamp)timestamp截?cái)喑芍付ǖ木?/td>date_trunc('hour', timestamp '2012-05-06 10:20:30')2012-05-06 10:00:00+00
extract(field from timestamp)double獲取子域extract(hour from timestamp '2012-05-06 10:20:30')10
extract(field from interval)double獲取子域extract(month from interval '2 years 3 months')3
localtimetime今日的時(shí)間??
localtimestamptimestamp日期和時(shí)間??
now()timestamp當(dāng)前的日期和時(shí)間(等效于 current_timestamp)??
timeofday()text當(dāng)前日期和時(shí)間??

?

EXTRACT函數(shù)

用于取出時(shí)間中的一部分,比如取出小時(shí)部分,參數(shù)示例如下:

描述例子結(jié)果
CENTURY世紀(jì)EXTRACT(CENTURY FROM TIMESTAMP '2000-12-16 12:21:13');20
DAY(月分)里的日期域(1-31)EXTRACT(DAY from TIMESTAMP '2001-02-16 20:38:40');16
DECADE年份域除以10EXTRACT(DECADE from TIMESTAMP '2001-02-16 20:38:40');200
DOW每周的星期號(hào)(0-6;星期天是0) (僅用于timestamp)EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40');5
DOY一年的第幾天(1 -365/366) (僅用于 timestamp)EXTRACT(DOY from TIMESTAMP '2001-02-16 20:38:40');47
HOUR小時(shí)域(0-23)EXTRACT(HOUR from TIMESTAMP '2001-02-16 20:38:40');20
MICROSECONDS秒域,包括小數(shù)部分,乘以 1,000,000。EXTRACT(MICROSECONDS from TIME '17:12:28.5');28500000
MILLENNIUM千年EXTRACT(MILLENNIUM from TIMESTAMP '2001-02-16 20:38:40');3
MILLISECONDS秒域,包括小數(shù)部分,乘以 1000。EXTRACT(MILLISECONDS from TIME '17:12:28.5');28500
MINUTE分鐘域(0-59)EXTRACT(MINUTE from TIMESTAMP '2001-02-16 20:38:40');38
MONTH對(duì)于timestamp數(shù)值,它是一年里的月份數(shù)(1-12);對(duì)于interval數(shù)值,它是月的數(shù)目,然后對(duì)12取模(0-11)EXTRACT(MONTH from TIMESTAMP '2001-02-16 20:38:40');2
QUARTER該天所在的該年的季度(1-4)(僅用于 timestamp)EXTRACT(QUARTER from TIMESTAMP '2001-02-16 20:38:40');1
SECOND秒域,包括小數(shù)部分(0-59[1])EXTRACT(SECOND from TIMESTAMP '2001-02-16 20:38:40');40
WEEK該天在所在的年份里是第幾周。EXTRACT(WEEK from TIMESTAMP '2001-02-16 20:38:40');7
YEAR年份域EXTRACT(YEAR from TIMESTAMP '2001-02-16 20:38:40');2001

?

綜合示例

獲取當(dāng)前據(jù)本周五23:59還有多少小時(shí)多少分鐘

select EXTRACT(HOUR FROM(CURRENT_DATE + time '23:59') - CURRENT_TIMESTAMP) + (6 - extract(dow from current_date) )*24 "hour",

EXTRACT(MINUTE FROM(CURRENT_DATE + time '23:59') - CURRENT_TIMESTAMP) "minute";

?

總結(jié)

以上是生活随笔為你收集整理的Postgresql时间处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。