sql >> Databasteknik >  >> RDS >> Oracle

Hur kan jag införa flera villkor i LIKE-operatorn?

Detta är en bra användning av en tillfällig tabell.

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

I exempelmönstren finns det inget sätt col kan matcha mer än ett mönster, så du kan vara säker på att du ser varje rad av tbl högst en gång i resultatet. Men om dina mönster är sådana att col kan matcha mer än en, bör du använda DISTINCT frågemodifierare.

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


  1. MySQL Ta bort dubbletter av poster

  2. Oväntad variabeltyp som returneras av Receive-Job

  3. Bättre tekniker för att trimma inledande nollor i SQL Server?

  4. Vilken typ av JOIN som ska användas