Как выбрать только те строки, которые содержат только подстроку входного параметра - PullRequest
0 голосов
/ 13 января 2010

У меня есть таблица в MSSQL, которая имеет несколько столбцов. Это выглядит следующим образом:

col1 | col2 | col3
------------------
HSP | полный | ""
HSP | полный | "UE"
HSP | мин | ""
HSP | мин | "PS"
CC | полный | "UE"

Мой запрос на выбор имеет 2 параметра, которые получает веб-приложение:

@ col2 = {полный, мин}
@ col3 = например "PE + UE + STR" или "PE" или "" (в общем случае - комбинация различных сокращений или нет)

Все, что я хочу сделать, это выбрать только те строки, которые содержат соответствующие сокращения. например если ввод
@col2 = "full"<br> @col3 = "PE+UE+STR"<br>

выход:
HSP | полный | "UE"
CC | полный | "UE"

если @col3 = "", то результат будет:
HSP | полный | ""
HSP | мин | ""

Спасибо за любую помощь.
Marcin

Ответы [ 2 ]

0 голосов
/ 14 февраля 2013

Вы хотите: WHERE '+' + @col3 + '+' like '%+' + col3 + '+%'

0 голосов
/ 13 января 2010

Теперь я могу быть полностью отключен, но я помню, что в SQL было ключевое слово LIKE.

ВЫБРАТЬ * из таблицы, ГДЕ col3 НРАВИТСЯ шаблон

где шаблон - это то, с чем вы хотите сравнить. Вам может понадобиться разобрать параметр для преобразования в .... ГДЕ col3 НРАВИТСЯ pattern1 ИЛИ col3 НРАВИТСЯ pattern2 или что-то еще?

Если это полностью отключено, пожалуйста, прокомментируйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...