溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

postgresql——日期時間函數(shù)

發(fā)布時間:2020-04-11 09:26:03 來源:網(wǎng)絡 閱讀:2449 作者:一個笨小孩 欄目:數(shù)據(jù)庫

日期和時間函數(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)


向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI