一、将默认日期格式'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