SQL Server 日期和时间函数

日期和时间函数

这些标量函数对日期和时间输入值执行操作,并返回一个字符串、数字值或日期和时间值。

下表列出日期和时间函数以及它们的确定性属性。有关函数确定性的更多信息,请参见确定性函数和非确定性函数。

函数 确定性
DATEADD 具有确定性
DATEDIFF 具有确定性
DATENAME 不具有确定性
DATEPART 除了用作 DATEPART (dw, date) 外都具有确定性。dw 是工作日的日期部分,取决于由设置每周第一天的 SET DATEFIRST 所设置的值。
DAY 具有确定性
GETDATE 不具有确定性
GETUTCDATE 不具有确定性
MONTH 具有确定性
YEAR 具有确定性

1. dateadd

在向指定日期加上一段时间的基础上,返回新的 datetime

DATEADD ( datepart , number, date )

参数

datepart

是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms

--示例

在'2004-09-18'的基础上加1天

select dateadd(day,1,'2004-09-18')

--返回:2004-09-19 00:00:00.000

2.datediff

返回跨两个指定日期的日期和时间边界数。

语法

DATEDIFF ( datepart , startdate , enddate )

参数

datepart

是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms

--示例

'2004-09-01'跟'2004-09-18'相差几天?

select datediff(day,'2004-09-01','2004-09-18')

--返回 17

3.datename 

返回代表指定日期的指定日期部分的字符串。

语法

DATENAME ( datepart , date )

参数

datepart

是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw
Hour hh
minute mi, n
second ss, s
millisecond ms

--示例

求'2004-09-19'是星期几?

select datename(dw,'2004-09-19')  --返回 '星期日'

如果要求是英文的则:

set language english  --设置语言
select datename(dw,'2004-09-19')  --返回:Sunday
set language 简体中文 --将语言再设回去

4. datepart

返回代表指定日期的指定日期部分的整数。

语法

DATEPART ( datepart , date )

参数

datepart

是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw
Hour hh
minute mi, n
second ss, s
millisecond ms

此示例假设日期是 5 月 29 日。

SELECT DATEPART(month, GETDATE())GO

下面是结果集:

----------- 5           (1 row(s) affected)5.day
返回代表指定日期的天的日期部分的整数。
语法

DAY ( date )

 

6.getdate

datetime 值的 Microsoft® SQL Server™ 标准内部格式返回当前系统日期和时间。

语法

GETDATE ( )

 

7 GETUTCDATE

返回表示当前 UTC 时间(世界时间坐标或格林尼治标准时间)的 datetime 值。当前的 UTC 时间得自当前的本地时间和运行 SQL Server 的计算机操作系统中的时区设置。

语法

GETUTCDATE()

 

8.month() 与year()

分别取月,年的整数部分

注意:灵活使用日期时间函数,用时多考虑!

你可能感兴趣的:(sql,server)