SQL не как заявление - PullRequest
       2

SQL не как заявление

4 голосов
/ 06 сентября 2010

Как выбрать таблицу из sys.tables, где имя таблицы не содержит специального слова (которое передается в параметрах).

Я хочу выбрать все таблицы, в которых содержится слово «клиент», но не те, ктозаканчивается на «старое» в названии.

TableName In DB

customer1
customer2
customer3
customerold1
customerold2

Требуется вывод

customer1
customer2
customer3

Ответы [ 2 ]

14 голосов
/ 06 сентября 2010
SELECT * FROM sys.tables
    WHERE TableName LIKE '%customer%'
      AND TableName NOT LIKE '%old' -- note the lack of trailing '%'

LIKE (Transact-SQL)

1 голос
/ 06 сентября 2010

Предполагая, что у вас есть параметр для вашего специального слова, вы можете сделать:

WHERE TableName LIKE @specialWord + '%'
AND TableName NOT LIKE '%' + @specialWord + '%old%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...