Strona 1 z 1
sql, Różnica dat
: 03 lut 2021, 10:46
autor: Pawm32
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'
Re: sql, Różnica dat
: 25 sie 2021, 19:15
autor: ThePPK
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:
- year
- quarter
- month
- dayofyear
- day
- week
- hour
- minute
- second
- millisecond
- microsecond
- nanosecond
Natomiast
DATEDIFF dla MySQL:
Możesz również skorzystać ze zwykłego odejmowania lat poprzez:
Kod: Zaznacz cały
SELECT YEAR(data1) - YEAR(data2) AS DateDiff;
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.