您好,登錄后才能下訂單哦!
日期和時間函數(shù):
日期和時間函數(shù)主要用來處理日期和時間值,一般的日期函數(shù)除了使用date類型的參數(shù)外,也可以使用datetime或者timestamp類型,但會忽略這些值的時間部分。相同的以time類型值為參數(shù)的函數(shù),可以接受timestamp類型的參數(shù),但會忽略日期部分。
1、獲取當前日期的函數(shù)和獲取當前時間的函數(shù):current_date和current_time
current_date函數(shù):的作用是將當前日期按照“YYYY-MM-DD”格式的值返回,具體格式根據(jù)函數(shù)用在字符串或是數(shù)字語境中而定的。
current_time函數(shù):的作用是將當前時間以“HH:MM:SS”的格式返回,具體格式根據(jù)函數(shù)用在字符串或是數(shù)字語境中而定的。
例子:
testdb=# select current_date;
date
------------
2018-06-24
(1 row)
testdb=# select current_time;
timetz
--------------------
02:15:58.108822-04
(1 row)
2、獲取當前日期和時間的函數(shù):current_timestamp、localtimestamp、和now()三個函數(shù)的作用相同,均是返回當前日期和時間值,格式為:“YYYY-MM-DD HH:MM:SS”或YYYYMMDDHHMMSS,具體格式根據(jù)函數(shù)是否在字符串或數(shù)字語境中而定。
例子:
testdb=# select current_timestamp,localtimestamp,now();
now | timestamp | now
-------------------------------+----------------------------+-------------------------------
2018-06-24 02:18:46.701219-04 | 2018-06-24 02:18:46.701219 | 2018-06-24 02:18:46.701219-04
(1 row)
3、獲取日期指定值的函數(shù):extract(type from date)
extract(type from date)函數(shù)從日期中提取一部分,而不是執(zhí)行日期運算。
例子:使用extract函數(shù)從日期中提取日份,如:
testdb=# select extract(day from timestamp '2018-08-15 12:10:10');
date_part
-----------
15
(1 row)
例子:使用extract函數(shù)從日期中提取月份,如:
testdb=# select extract(month from timestamp '2018-08-15 12:10:10');
date_part
-----------
8
(1 row)
例子:使用extract函數(shù)從日期中提取年份,如:
testdb=# select extract(year from timestamp '2018-08-15 12:10:10');
date_part
-----------
2018
(1 row)
例子:使用extract函數(shù)查詢指定日期是一年中的第幾天,如:
testdb=# select extract(doy from timestamp '2018-08-15 12:10:10');
date_part
-----------
227
(1 row)
例子:使用extract函數(shù)查詢指定日期是一周中的星期幾,如:
testdb=# select extract(dow from timestamp '2018-08-15 12:10:10');
date_part
-----------
3
(1 row)
例子:使用extract函數(shù)查詢指定日期是該年的第幾季度,如:
testdb=# select extract(quarter from timestamp '2018-08-15 12:10:10');
date_part
-----------
3
(1 row)
4、日期和時間的運算操作:
日期和時間可以有:加、減、乘、除的運算操作。
例子:指定日期加運算:+10日后的日期
testdb=# select date '2018-08-15' + integer '10';
?column?
------------
2018-08-25
(1 row)
例子:指定日期加上間隔小時,+3小時
testdb=# select date '2018-08-15' + interval '3 hour';
?column?
---------------------
2018-08-15 03:00:00
(1 row)
例子:指定日期加上指定時間后的結(jié)果,如:
testdb=# select date '2018-08-15' + time '06:00';
?column?
---------------------
2018-08-15 06:00:00
(1 row)
例子:指定日期和時間加上間隔時間后的結(jié)果:
testdb=# select timestamp '2018-08-15 02:00:00' + interval '10 hours';
?column?
---------------------
2018-08-15 12:00:00
(1 row)
例子:指定日期之間的間隔天數(shù),如:
testdb=# select date '2018-08-15' - date '2018-07-10';
?column?
----------
36
(1 row)
例子:指定日期減去間隔天數(shù)后的結(jié)果,如:
testdb=# select date '2018-08-15' - integer '10';
?column?
------------
2018-08-05
(1 row)
例子:計算整數(shù)與天數(shù)相乘的結(jié)果,如:
testdb=# select 15 * interval '2 day';
?column?
----------
30 days
(1 row)
例子:計算整數(shù)與秒數(shù)相乘的結(jié)果,如:
testdb=# select 50 * interval '2 second';
?column?
----------
00:01:40
(1 row)
例子:計算小時數(shù)與整數(shù)相乘的結(jié)果,如:
testdb=# select interval '1 hour' / integer '2';
?column?
----------
00:30:00
(1 row)
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。