日期运算

SQL Server 中级

Ginger Grant

Instructor

DATEPART

DATEPART 用于指定要计算的日期部分。常见缩写:

  • DD 表示日
  • MM 表示月
  • YY 表示年
  • HH 表示小时
SQL Server 中级

T-SQL 常用日期函数

  • DATEADD():对日期时间加减
    • 始终返回日期
  • DATEDIFF():求两个日期时间的差
    • 始终返回数字
SQL Server 中级

DATEADD

要加减数值得到新日期,请用 DATEADD()

DATEADD (DATEPART, number, date) 
  • DATEPART:计量单位(DD、MM 等)
  • number:要相加的整数
  • date:日期时间值
SQL Server 中级

用 DATEADD 进行日期运算(I)

30 天后是 2020 年 6 月 21 日的哪一天?

SELECT DATEADD(DD, 30, '2020-06-21')
+-----------------------------+ 
|(No Column Name)             | 
|-----------------------------+ 
|2020-07-21 00:00             | 
+-----------------------------+
SQL Server 中级

用 DATEADD 进行日期运算(II)

30 天前是 2020 年 6 月 21 日的哪一天?

SELECT DATEADD(DD, -30, '2020-06-21')
+-----------------------------+ 
|(No Column Name)             | 
|-----------------------------+ 
|2020-05-22 00:00             | 
+-----------------------------+
SQL Server 中级

DATEDIFF

返回在日期上加减一定数量后的日期

DATEDIFF (datepart, startdate, enddate) 
  • datepart:计量单位(DD、MM 等)
  • startdate:起始日期值
  • enddate:结束日期时间值
SQL Server 中级

使用 DATEDIFF 进行日期运算

SELECT DATEDIFF(DD, '2020-05-22', '2020-06-21') AS Difference1,
       DATEDIFF(DD, '2020-07-21', '2020-06-21') AS Difference2
+--------------------+--------------------+ 
|Difference1         |Difference2         |
+--------------------+--------------------+
|30                  |-30                 |
+--------------------+--------------------+
SQL Server 中级

让我们来练习!

SQL Server 中级

Preparing Video For Download...