Używanie klauzuli WHERE z parametrami BETWEEN i daty null
Jedna z moich klauzul
WHEREjest taka:
AND (DateCreated BETWEEN @DateFrom and @DateTo OR (@DateFrom IS NULL OR @DateTo IS NULL))
@DateFromi
@DateTosą parametrami wejściowymi i mogą mieć wartość
NULL.
Jeśli oba mają wartość null, to po prostu muszę zignorować
BETWEENi zwrócić wszystkie rekordy.
Jeśli
@DateFromma wartość
NULL, a
@DateToma wartość
NOT NULL, to muszę zwrócić wszystkie rekordy z wartością DateCreated nie przekroczenie
@DateTo(włącznie).
Jeśli
@DateFromma wartość
NOT NULL, a
@DateToma wartość
NULL, to muszę zwrócić wszystkie rekordy z DateCreated nie wcześniej niż
@DateFrom(włącznie) przed dzisiejszą datą.
DateCreated nie jest polem zerowym lub przez pewien czas to pole jest puste.
Jak dotąd moja klauzula
WHEREnie działa tak, jak tego chcę.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
6 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Edycja: podejście George'a było prostsze, tutaj jest dostosowane do użycia z :
Problem z lub podczas używania zmiennej w stosunku do pola polega na tym, że zawsze po północy ostatniego dnia zostaną wykluczone.
'2015-02-11 13: 07: 56.017' więcej niż 2015-02-11 ' Zamiast korzystać z pola jako
Data <!-- Code --> Dla porównania lepiej jest dodać dzień do zmiennej, aby zwiększyć wydajność i zmienić ją za pomocą[code]& LT; =
na . [/code]Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od: