sql >> Databáze >  >> RDS >> Sqlserver

Jak hledat více řetězců nebo znaků v poli v sql

Pokud máte multiple patterns pro vyhledávání je pak lepší vytvořit derived table nebo temporary table pro uložení patterns

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);

Pokud máte k porovnání více sloupců, přidejte výraz do ON doložka

SELECT a.* FROM table_name a JOIN @patterns p ON (a.Description LIKE p.pattern)
OR (a.Column2 like p.pattern);

Aktualizováno:pomocí zobrazení

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

Netestováno, ale můžete to udělat takto

Zdroj




  1. mysql_ping visí s Amazon RDS

  2. Hibernace mysql innodb

  3. SQLite JSON_EACH()

  4. Nejlepší fóra o výkonu SQL Serveru pro nápovědu k nejobtížnějším otázkám