Mam zapytanie do pobrania różnicy dat między 2 datetime jako:
SELECT DATEDIFF(DAY, @CreatedDate , GETDATE())
Ex :
SELECT DATEDIFF(DAY, '2013-03-13 00:00:00.000' , GETDATE())
Muszę mieć takie zapytanie, które odejmie dzień od utworzonego dnia:
SELECT DATEDIFF(DAY, **@CreatedDate- 1** , GETDATE())
sql
sql-server
datetime
James
źródło
źródło
DATEDIFF
między2003-03-12
a dzisiaj jest 14 , a nie 12).Odpowiedzi:
Spróbuj tego
LUB
źródło
Nie jestem pewien, co dokładnie próbujesz zrobić, ale myślę, że ta funkcja SQL pomoże ci:
Powyższe da ci
2013-03-31 16:25:00.250
.Zabiera Cię dokładnie jeden dzień wstecz i działa na dowolnym standardowym formacie daty i godziny.
Spróbuj uruchomić to polecenie i sprawdź, czy daje ci to, czego szukasz:
źródło
Aby po prostu odjąć jeden dzień od dzisiejszej daty:
(oryginalny post użył -7 i był nieprawidłowy)
źródło
Najwyraźniej możesz odjąć żądaną liczbę dni od daty i godziny.
źródło
To powinno działać.
źródło
źródło
Spróbuj tego, niech to ci pomoże
źródło
Szczerze mówiąc po prostu używam:
co daje
YYYYMMDD
i minus jeden z tego.Albo bardziej poprawnie
na wczorajszą datę.
Zastąp
Getdate()
swoją wartościąOrderDate
powinien to zrobić.
źródło
Możesz tego spróbować.
Sygnatura czasowa = 2008-11-11 13: 23: 44,657;
wyjście: 2008-11-10 13: 23: 44.657
Mam nadzieję, że pomoże to rozwiązać Twój problem.
źródło
INTERVAL
aniDATE_SUB
.