Różnica dat, jak mam zapytać o różnicę dat w latach
Mam DATEDIFF(data1,data2) i to działa ale nie jest w latach
a DATEDIFF(year,data1,data2) mam #1582 - Incorrect parameter count in the call to native function 'DATEDIFF'
sql, Różnica dat
Otrzymałeś(aś) rozwiązanie do zamieszczonego zadania? - podziękuj autorowi rozwiązania! Kliknij
-
- Witam na forum
- Posty: 6
- Rejestracja: 24 sie 2021, 10:27
- Otrzymane podziękowania: 3 razy
- Płeć:
Re: sql, Różnica dat
W podanym przez ciebie przykładzie mówisz, że ten fragment działa poprawnie:
Wskazuje to, iż używasz MySQL. Funkcjonalność, której próbujesz użyć, istnieje wyłącznie w Transact-SQL.
DATEDIFF dla Transact-SQL funkcja wygląda następująco:
Gdzie część to:
Możesz również skorzystać ze zwykłego odejmowania lat poprzez:
Niestety może zwrócić to niechcianą wartość, gdyż przy argumentach "2020/12/31" i "2021/1/1" zwraca różnicę jednego roku, gdzie jest to jeden dzień różnicy.
Kod: Zaznacz cały
DATEDIFF(data1,data2)
DATEDIFF dla Transact-SQL funkcja wygląda następująco:
Kod: Zaznacz cały
DATEDIFF (część, początek, koniec)
- year
- quarter
- month
- dayofyear
- day
- week
- hour
- minute
- second
- millisecond
- microsecond
- nanosecond
Kod: Zaznacz cały
DATEDIFF (koniec, początek)
Kod: Zaznacz cały
SELECT YEAR(data1) - YEAR(data2) AS DateDiff;