sql >> Databáze >  >> RDS >> Oracle

Jak mohu zavést více podmínek v operátoru LIKE?

Toto je dobré využití dočasné tabulky.

CREATE TEMPORARY TABLE patterns (
  pattern VARCHAR(20)
);

INSERT INTO patterns VALUES ('ABC%'), ('XYZ%'), ('PQR%');

SELECT t.* FROM tbl t JOIN patterns p ON (t.col LIKE p.pattern);

V příkladech vzorů neexistuje žádný způsob col může odpovídat více než jednomu vzoru, takže si můžete být jisti, že uvidíte každý řádek tbl maximálně jednou ve výsledku. Ale pokud jsou vaše vzory takové, že col může odpovídat více než jednomu, měli byste použít DISTINCT modifikátor dotazu.

SELECT DISTINCT t.* FROM tbl t JOIN patterns p ON (t.col LIKE p.pattern);


  1. Zobrazení historie úloh SQL Server Agent pomocí SSMS

  2. Migrace MySQL na PostgreSQL na AWS RDS, část 2

  3. PLS-00428:V tomto příkazu SELECT se očekává klauzule INTO

  4. Odstranění profilu pošty databáze v SQL Server (T-SQL)