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