GETDATE()获取当前时间和日期。
select GETDATE()
DATEADD() 函数在日期中添加或减去指定的时间间隔。
语法:DATEADD(datepart,number,date)
例子:
select DATEADD(day,-35,getdate()) -------35天前
select DATEADD(day,35,getdate()) -------35天后
select DATEADD(week,-5,getdate()) --------五周前
select DATEADD(week,5,getdate()) --------五周后
select DATEADD(Month,-3,getdate()) --------三个月前
select DATEADD(Month,3,getdate()) --------三个月后
select DATEADD(Year,-1,getdate()) --------一年前
select DATEADD(Year,1,getdate()) --------一年后
DATEDIFF() 函数返回两个日期之间的时间,比如间隔年、月、日、小时、分钟等等。
语法:DATEDIFF(datepart,date1,date2)
例子:
SELECT DATEDIFF(day,'2018-11-21','2019-12-03') AS DiffDay
SELECT DATEDIFF(week,'2018-11-21','2019-12-03') AS DiffWeek
SELECT DATEDIFF(month,'2018-11-21','2019-12-03') AS DiffMonth
SELECT DATEDIFF(year,'2018-11-21','2019-12-03') AS DiffWeek
DATEPART() 函数用于返回日期/时间的单独部分,比如年(yy, yyyy)、日(dd, d)、小时(hh)、分钟(mi, n)等等。
语法:DATEPART(datepart,date)
例子:
select DATEPART(yyyy,'2019-12-03 15:53:52.603') AS 年Year,
DATEPART(m,'2019-12-03 15:53:52.603') AS 月Month,
DATEPART(dd,'2019-12-03 15:53:52.603') AS 日Day,
DATEPART(wk,'2019-12-03 15:53:52.603') AS 周Week
或者
select DATEPART(year,'2019-12-03 15:53:52.603') AS 年Year,
DATEPART(month,'2019-12-03 15:53:52.603') AS 月Month,
DATEPART(day,'2019-12-03 15:53:52.603') AS 日Day,
DATEPART(week,'2019-12-03 15:53:52.603') AS 周Week
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法:CONVERT(data_type(length),expression,style)
data_type(length) | 规定目标数据类型(带有可选的长度)。 |
expression | 规定需要转换的值。 |
style | 规定日期/时间的输出格式。(网上可查 datetime 或 smalldatetime 转换为字符数据的 style 值) |
例子:
select CONVERT(VARCHAR(19),GETDATE()) -----输出的值Dec 3 2019 4:36PM
select CONVERT(VARCHAR(10),GETDATE(),10) -----输出的值12-03-19
select CONVERT(VARCHAR(10),GETDATE(),110) -----输出的值12-03-2019
select CONVERT(VARCHAR(11),GETDATE(),6) -----输出的值03 Dec 19
select CONVERT(VARCHAR(11),GETDATE(),106) -----输出的值03 Dec 2019
select CONVERT(VARCHAR(24),GETDATE(),113) -----输出的值03 Dec 2019 16:36:22:170