日期運算

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)

從 2020 年 6 月 21 日起算 30 天後是幾號?

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

使用 DATEADD 的日期運算(II)

2020 年 6 月 21 日的前 30 天是幾號?

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...