sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan søger du, hvis hele ord findes i en streng i Postgres

Du kan bruge et regulært udtryk til dette:

where title ~* '(\mphone\M)|(\msamsung\M)'

Ovenstående returnerer kun værdier, hvor phone eller samsung er komplette ord. Regex-modifikatorerne\m og \M få mønsteret til kun at passe til hele ord.

Regex-operatoren ~* gør dette ufølsomt over for store og små bogstaver. Ovenstående udtryk ville returnere Samsung Phone eller Google Phone men ikke Sam's House .

Hvis du vil tilføje flere ord, skal du blot tilføje dem ved at bruge "eller"-operatoren |

where title ~* '(\mphone\M)|(\msamsung\M)|(\mbhat\M)'

Bemærk, at denne form for søgning ikke vil være superhurtig. Regulære udtryk er dyre, de kan ikke bruge noget indeks.



  1. det leverede argument er ikke en gyldig MySQL-resultatressource

  2. En introduktion til TimescaleDB

  3. Kan jeg blande MySQL API'er i PHP?

  4. PHP Liste brugere fra SQL-database i tabel