Reputation: 1569
How can I select table from sys.tables where table name does not containt special word (which pass in parameters).
I want to select all tables where its contains word 'customer' but not those who ends with 'old' in name.
TableName In DB
customer1
customer2
customer3
customerold1
customerold2
Output Wanted
customer1
customer2
customer3
Upvotes: 7
Views: 34961
Reputation:
Assuming that you have a parameter for your special word, you can do:
WHERE TableName LIKE @specialWord + '%'
AND TableName NOT LIKE '%' + @specialWord + '%old%'
Upvotes: 3
Reputation: 60902
SELECT * FROM sys.tables
WHERE TableName LIKE '%customer%'
AND TableName NOT LIKE '%old' -- note the lack of trailing '%'
Upvotes: 20