PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

SQL заявка за съвпадение на един от множество низове

За правилно решение или нормализирайте дизайна на вашата база данни или, като изключим това, помислете за пълнотекстово търсене .

За бързо решение на проблема използвайте съвпадение на регулярен израз (~ ) или три прости LIKE изрази:

SELECT *
FROM   subscriberfields 
WHERE  name ~ '(Khairpur|Islamabad|Karachi)';

Или:

...
WHERE (name LIKE '%Khairpur%'
    OR name LIKE '%Islamabad%'
    OR name LIKE '%Karachi%')

Или използвайте ~* или ILIKE за съпоставяне без разлика на главни и малки букви.

Тъй като друг отговор го предложи:никога използвайте SIMILAR TO :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MQTT клиент се абонира за PostgreSQL DB Changes

  2. Heroku - изхвърляне и зареждане на една таблица в споделена база данни на postgres

  3. PostgreSQL 9.6:Паралелно последователно сканиране

  4. Изключения на Postgres и java

  5. Търсене на подниз в PostgreSQL