Archiwa tagu: sql datediff

SQL DATEDIFF

SQL DATEDIFF



DEFINICJA

Funkcja DATEDIFF() zwraca różnicę, w zdefiniowanych jednostkach, między dwiema datami. !!! UWAGA !!! nie we wszystkich środowiskach bazodanowych funkcja DATEDIFF() działa tak samo. Poniższe przykłady pochodzą z SQL SERVER-a.


SQL DATEDIFF() składnia funkcji

 

SELECT
DATEDIFF(parametr1 , parametr2 , parametr3)

parametry:
parametr1 – definiujemy w jakich jednostkach funkcja ma zwrócić różnicę np. jeśli w latach to YEAR, w miesiącach to MONTH itd
parametr2 – data początkowa (wcześniejsza)
parametr3 – data końcowa (późniejsza)


Przykład zastosowania DATEDIFF() (baza Adventureworks)

Wyświetl wszystkie zamówienia klienta o identyfikatorze 29825 i pokaż ile lat temu było składane każde z jego zamówień.

  SELECT
O.CustomerID AS [Identyfikator klienta]
,O.SalesOrderID AS [Identyfikator zamówienia]
,DATEDIFF( YEAR , O.OrderDate , GETDATE()) AS [Różnica w latach]
FROM
Sales.SalesOrderHeader O
WHERE
O.CustomerID = 29825


Przykład zastosowania DATEDIFF() (baza Northwind)

Oblicz staż pracy dla każdego pracownika.

  SELECT
E.LastName + ‚ ‚ + E.FirstName AS [Nazwisko i Imię]
,DATEDIFF( YEAR , E.HireDate , GETDATE()) AS [Staż Pracy]
FROM
Employees E