SQL學習 | 用SQL進行日期截取和日期加減

一、將默認日期格式'yyyy-MM-dd HH:mm:ss'截取成年、月、日、時、分、秒:

1.EXTRACT

如輸入SELECT CURRENT_TIMESTAMP;獲取當前時間‘2019-08-16 15:21:28.413’,使用EXTRACT截取後獲得的是數字格式的年月日等。

SELECT CURRENT_TIMESTAMP,
       EXTRACT(YEAR FROM CRRENT_TIMESTAMP) AS year,
       EXTRACT(MONTH FROM CRRENT_TIMESTAMP) AS month,
       EXTRACT(DAY FROM CRRENT_TIMESTAMP) AS day,
       EXTRACT(MINUTE FROM CRRENT_TIMESTAMP) AS minute,
       EXTRACT(SECOND FROM CRRENT_TIMESTAMP) AS second;

2. select  year/month/day/hour/minute/second/week of year

如,select year('2017-02-08 11:15:50'),month('2017-02-08 11:15:50'),day('2017-02-08 11:15:50'),hour('2017-02-08 11:15:50'),minute('2017-02-08 11:15:50'),second('2017-02-08 11:15:50'),weekofyear('2017-02-08 11:15:50');

 返回的是 2017、2、8、11、15、50、6

3. to_date

select to_date('2017-02-08 11:15:50'); 截取指定日期時間中的日期。返回 2017-02-08

4.datepart(datepart, date)

datepart 參數可以是下列的值:

如,select datepart(mm, '2019-12-08 12:24:56') 返回的結果是 12

 

二、將字符串格式的時間截取成指定日期:substring

利用SUBSTRING截取的日期一般是字符串格式

SUBSTRING(‘20190908’,0,4) 結果爲2019,截取獲得是字符串格式的年月日等

三、日期的增減

1.DATEDIFF(datepart,startdate,enddate)

datepart的格式如下:

SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate   返回的是1

2.DATEADD(datepart,number,date)

date 參數是合法的日期表達式。number 是您希望添加的間隔數;對於未來的時間,此數是正數,對於過去的時間,此數是負數。

datepart可以是dd, d等縮寫格式也可以是day,week全稱

select dateadd(day, 10,'2019-06-15') 返回的是'2019-06-25

3.DATE_SUB(date,interval expr type)

date 參數是合法的日期表達式。expr 參數是您希望添加的時間間隔。

type 參數可以是下列值:

如,select datesub('2019-06-15', interval 2 day) 返回的是2019-06-13

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章