Działania na datach

SQL Server średnio zaawansowany

Ginger Grant

Instructor

DATEPART

DATEPART określa, którą część daty chcemy obliczyć. Najczęstsze skróty to:

  • DD – dzień
  • MM – miesiąc
  • YY – rok
  • HH – godzina
SQL Server średnio zaawansowany

Typowe funkcje daty w T-SQL

  • DATEADD(): Dodaje lub odejmuje wartości daty
    • Zawsze zwraca datę
  • DATEDIFF(): Oblicza różnicę między dwiema datami
    • Zawsze zwraca liczbę
SQL Server średnio zaawansowany

DATEADD

Aby dodać lub odjąć wartość i uzyskać nową datę, użyj DATEADD()

DATEADD (DATEPART, number, date) 
  • DATEPART: Jednostka miary (DD, MM itd.)
  • number: Liczba całkowita do dodania
  • date: Wartość daty
SQL Server średnio zaawansowany

Działania na datach z DATEADD (I)

Jaka data wypada 30 dni po 21 czerwca 2020?

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

Działania na datach z DATEADD (II)

Jaka data wypada 30 dni przed 21 czerwca 2020?

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

DATEDIFF

Zwraca datę po dodaniu lub odjęciu liczby od daty

DATEDIFF (datepart, startdate, enddate) 
  • datepart: Jednostka miary (DD, MM itd.)
  • startdate: Wartość daty początkowej
  • enddate: Wartość daty końcowej
SQL Server średnio zaawansowany

Działania na datach z 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 średnio zaawansowany

Czas na ćwiczenia!

SQL Server średnio zaawansowany

Preparing Video For Download...