PostgreSQL 时间函数 extract函数
計(jì)算時(shí)間差天數(shù)
select extract(day FROM (age('2017-12-10'::date , '2017-12-01'::date)));
計(jì)算時(shí)間差秒數(shù)
select extract(epoch FROM (now() - (now()-interval '1 day') ));
extract函數(shù)格式:
extract (field from source)
extract函數(shù)是從日期或者時(shí)間數(shù)值里面抽取子域,比如年、月、日等。source必須是timestamp、time、interval類型的值表達(dá)式。field是一個(gè)標(biāo)識(shí)符或字符串,是從源數(shù)據(jù)中的抽取的域。
1. century (世紀(jì))
test=# select extract (century from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 21
(1 row)
2. year (年)
test=# select extract (year from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 2017
(1 row)
3. decade (得到年份除10的值)
test=# select extract (decade from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 201
(1 row)
4. millennium(得到第幾個(gè)千年,0-1000第一個(gè),1001-2000第二個(gè),2001-3000第三個(gè))
test=# select extract (millennium from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 3
(1 row)
5. quarter (季度)
test=# select extract (quarter from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 3
(1 row)
6. month (月份)
test=# select extract (month from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 7
(1 row)
test=# select extract (month from interval '2 years 11 months');
date_part 
-----------
 11
(1 row)
7. week (返回當(dāng)前是幾年的第幾個(gè)周)
test=# select extract (week from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 31
(1 row)
8. dow (返回當(dāng)前日期是周幾,周日:0,周一:1,周二:2,...)
test=# select extract (dow from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 1
(1 row)
9. day (本月的第幾天)
test=# select extract (day from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 31
(1 row)
10. doy (本年的第幾天)
test=# select extract (doy from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 212
(1 row)
11. hour (小時(shí))
test=# select extract (hour from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 22
(1 row)
12. min (得到時(shí)間中的分鐘)
test=# select extract (min from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 18
(1 row)
13. sec (返回時(shí)間中的秒)
test=# select extract (sec from timestamp '2017-07-31 22:18:00');
date_part 
-----------
 0
(1 row)
---------------------
整理自:
https://blog.csdn.net/ctypyb2002/article/details/77865677
https://blog.csdn.net/nextaction/article/details/76473613 
總結(jié)
以上是生活随笔為你收集整理的PostgreSQL 时间函数 extract函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: MIME邮件面面观
 - 下一篇: mysql cookbook