sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL-jokerteken LIKE voor een lijst met woorden

PostgreSQL ondersteunt ook volledige POSIX reguliere expressies:

select * from table where value ~* 'foo|bar|baz';

De ~* is voor een hoofdletterongevoelige overeenkomst, ~ is hoofdlettergevoelig.

Een andere optie is om ANY te gebruiken:

select * from table where value  like any (array['%foo%', '%bar%', '%baz%']);
select * from table where value ilike any (array['%foo%', '%bar%', '%baz%']);

U kunt ANY gebruiken met elke operator die een boolean oplevert. Ik vermoed dat de regex-opties sneller zouden zijn, maar ANY is een handig hulpmiddel om in je gereedschapskist te hebben.



  1. gebruik de opdracht database_name in PostgreSQL

  2. ETL vs ELT:wij stellen, u oordeelt

  3. Retourneer rijen van INSERT met ON CONFLICT zonder te updaten

  4. Wat is de beste oplossing voor het poolen van databaseverbindingen in Python?