Обчислення з датами

Середній рівень SQL Server

Ginger Grant

Instructor

DATEPART

DATEPART визначає, яку частину дати ви обчислюєте. Поширені скорочення:

  • DD — день
  • MM — місяць
  • YY — рік
  • HH — година
Середній рівень SQL Server

Поширені функції дат у T-SQL

  • DATEADD(): додати або відняти значення datetime
    • Завжди повертає дату
  • DATEDIFF(): різниця між двома значеннями datetime
    • Завжди повертає число
Середній рівень SQL Server

DATEADD

Щоб додати або відняти значення й отримати нову дату, використайте DATEADD()

DATEADD (DATEPART, number, date) 
  • DATEPART: одиниця виміру (DD, MM тощо)
  • number: ціле число для додавання
  • date: значення datetime
Середній рівень SQL Server

Обчислення дат із DATEADD (I)

Яка дата через 30 днів після 21 червня 2020?

SELECT DATEADD(DD, 30, '2020-06-21')
+-----------------------------+ 
|(No Column Name)             | 
|-----------------------------+ 
|2020-07-21 00:00             | 
+-----------------------------+
Середній рівень SQL Server

Обчислення дат із DATEADD (II)

Яка дата за 30 днів до 21 червня 2020?

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: кінцеве значення datetime
Середній рівень 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...