Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
vlad2016 Member Откуда: Сообщений: 15 |
День добрый, уважаемые сиквелоиды! Подскажите, пожалуйста, можно ли красиво передать функции параметр в WHERE? |
24 июн 16, 18:55 [19333271] Ответить | Цитировать Сообщить модератору |
vlad2016 Member Откуда: Сообщений: 15 |
Извиняюсь за неполное сообщение. Имелась ввиду подставить конструкцию типа: "and id is not null" "and id is null" "and id = any" без динамического sql. |
24 июн 16, 18:58 [19333290] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31778 |
У вас же "подставить конструкцию" - это подставить произвольную строку как выражение в WHERE? Или вопрос конкретно про обработку параметра для поля "id"? |
||
24 июн 16, 20:25 [19333534] Ответить | Цитировать Сообщить модератору |
vlad2016 Member Откуда: Сообщений: 15 |
Нет, речь не про произвольный код в общем, а именно манипуляции с функциями notnull и nullif в WHERE, с подстановкой параметра для тройного фильтра по полю null, not null и всех вместе. Вот уже дома дошел до такого варианта. Может кто-то придумает красивее? WHERE isnull (CASE WHEN ID IS NOT NULL THEN 1 END, 0) IN (@param1, @param2) |
||
24 июн 16, 22:47 [19333975] Ответить | Цитировать Сообщить модератору |
i-i
Guest |
krasivee? legkoWHERE soundex(cast(isnull (CASE WHEN ID IS NOT NULL THEN 1 END, 0) as varchar(20))) IN (soundex(@param1), soundex(@param2)) |
24 июн 16, 23:09 [19334076] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8316 |
vlad2016, формируйте запрос на стороне клиента как угодно красиво. |
27 июн 16, 11:36 [19339175] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |