Als je multiple patterns hebt om te zoeken is het beter om een derived table te maken of temporary table om de patterns op te slaan
DECLARE @patterns TABLE (
pattern VARCHAR(20)
);
INSERT INTO @patterns VALUES ('%$%'), ('%[%]%'), ('%ac cd%');
SELECT a.* FROM table_name a JOIN @patterns p ON (a.Description LIKE p.pattern);
Als u meerdere kolommen heeft om te vergelijken, voegt u gewoon een uitdrukking toe in de ON clausule
SELECT a.* FROM table_name a JOIN @patterns p ON (a.Description LIKE p.pattern)
OR (a.Column2 like p.pattern);
Bijgewerkt:weergave gebruiken
CREATE VIEW PatternSearch
AS
WITH Patterns (Patterns)
AS
(
Select '%Tool%'
union all
Select '%Sale%'
union all
Select '%ac cd%'
)
SELECT a.* FROM table_name a JOIN Patterns p ON (a.Description LIKE p.pattern)
GO
Niet getest, maar je kunt het zo doen