T-SQL时间函数
20190831
时间函数
DAY(),MONTH(),YEAR(),DATEADD(),DATEDIFF(),DATENAME(),DATEPART(),GETDATE()
DAY()、MONTH()、YEAR()
- 语法
DAY(date) --,返回类型为int MONTH(date) --返回类型为int YEAR(date) --返回类型为int --date: T-sql时间类型具体值
- 示例
SELECT DAY('2007-04-30T01:01:01.1234567 -07:00'); SELECT DAY('2017-04-02'); SELECT MONTH('2007-04-30T01:01:01.1234567 -07:00'); SELECT MONTH('2017-11-02'); SELECT YEAR('2007-04-30T01:01:01.1234567 -07:00'); SELECT YEAR('2017-11-02');
30 2 4 11 2004 2017
DATEADD()、DATEDIFF()、DATENAME()、DATEPART()、GETDATE()
- 语法
DATEADD(datepart, number, date) --返回指定日期date加上指定的额外日期间隔number产生的新日期,返回类型与参数date相同 DATEDIFF(datepart, startdate, enddate ) --返回两个指定日期在datepart方面的差值,返回类型int DATENAME(datepart, date) --以字符串的形式返回日期的指定部分,返回类型nvarchar DATEPART(datepart, date) --以整数值的形式返回日期的指定部分,返回类型int GETDATE() --函数以DATETIME的缺省格式返回系统当前的日期和时间,返回类型datetime -- datepart: 时间类型 -- number: int型参数
参数datepart好多种,常用: year, yyyy, yy --1年 quarter, qq, q --2季度 month, mm, m --3月 dayofyear, dy, y --4一年中的第几天 day, dd, d --5日期 week, wk, ww --6第几周 weekday, dw --7周几
- 示例
declare @date_time1 date, @date_time2 datetime set @date_time1 = '2019-08-31' set @date_time2 = '2019-06-20' select DATEADD(year, 3, @date_time1) --1 select DATEADD(year, 3, @date_time2) --2 select DATEDIFF(month, @date_time1,@date_time2 )--3 select DATENAME(day, @date_time1)--4 select DATEPART(week, @date_time1) --5 select GETDATE() --6
20 2022-08-31 2022-06-20 00:00:00.000 -2 31 35 2019-08-31 20:07:00.503
备注
参考资料
T-SQL时间函数
T-SQL之常用函数
SQL Server 帮助文档