Что будет SQL-эквивалент этого оператора C#?SQL-проверка для NULL в выражении WHERE (тернарный оператор?)
bool isInPast = (x != null ? x < DateTime.Now() : true)
Мне нужно построить пункт WHERE
, который проверяет, что x < NOW()
только если x IS NOT NULL
. x
- это datetime
, который иногда должен иметь значение null, а не null в другое время, и я хочу, чтобы в предложении WHERE
учитывались непустые значения и считалось, что значения null являются истинными.
Сейчас оговорка:
dbo.assignments.[end] < { fn NOW() }
Который работает для не-NULL случаев, но NULL значения всегда, кажется, делает выражение оценку лжи. Я пробовал:
dbo.assignments.[end] IS NOT NULL AND dbo.assignments.[end] < { fn NOW() }
И это, кажется, не имеют никакого эффекта.
Ничего, это была проблема с моими данными. – cmv