T-SQL时间函数

Posted 呼呼小睡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了T-SQL时间函数相关的知识,希望对你有一定的参考价值。

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 帮助文档

以上是关于T-SQL时间函数的主要内容,如果未能解决你的问题,请参考以下文章

子选择 T-SQL 中的聚合函数

调用 T-SQL 表值函数比调用一次快多次?

将 T-SQL ISNULL 函数逻辑复制到 SparkSQL

T-SQL 替换函数缺少一些使用 nvarchar(max) 的匹配项

T-SQL时间函数

T-SQL 中的数据透视表分区