SQL проверяет, является ли значение пустой строкой? - PullRequest
0 голосов
/ 14 сентября 2009

Это предложение where моего запроса:

WHERE person.personstatusuid = @StatusUID
           AND person.forename != ''

это работает нормально - @StatusUID идет из выпадающего списка.

Однако у меня также есть поле местоположения. Этот код тоже отлично работает:

ГДЕ person.personstatusuid = @StatusUID AND person.forename! = '' AND person.Location = @ Местоположение

Я хочу изменить последнюю строку, если она является @Location (которая происходит из текстового поля) или @Location пуста.

Я пытался использовать ИЛИ, как было предложено, но независимо от того, что я пытаюсь, он не возвращает никаких строк. Я попытался заменить строку этим, только для целей тестирования:

   AND (@Location NOT LIKE 'BISCUITS' )

   AND (@Location!='' )

   AND (LEN(@Location) == 0 )

но ни один из них не работает, когда я оставляю текстовое поле пустым.

Есть идеи?

1 Ответ

0 голосов
/ 14 сентября 2009

Попробуйте это

WHERE   person.personstatusuid = @StatusUID 
AND     person.forename != '' 
AND     (ISNULL(@Location,'') = '' OR person.Location = @Location)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...