PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Sprawdź całą tabelę pod kątem pojedynczej wartości

Możesz użyć specjalnej funkcji systemu typu PostgreSQL:

SELECT *
FROM   tbl t
WHERE  t::text LIKE '%999999%';

Istnieje typ złożony o tej samej nazwie dla każdej tabeli utworzonej w PostgreSQL. I jest text reprezentacja dla każdego typu w PostgreSQL (do wartości wejściowych / wyjściowych).

Dlatego możesz po prostu rzutować cały wiersz na text oraz czy ciąg '999999' jest zawarty w dowolnej kolumnie (jej text reprezentacja, aby być precyzyjnym) na pewno pojawi się w powyższym zapytaniu.

Nie można wykluczyć fałszywych trafień całkowicie jednak, jeśli separatory i / lub dekoratory używane przez Postgres do reprezentacji wiersza mogą być częścią wyszukiwanego terminu. To po prostu bardzo mało prawdopodobny. I zdecydowanie nie dotyczy to wyszukiwanego hasła „999999”.

Ostatnio na codereview.SE pojawiło się bardzo podobne pytanie. Dodałem więcej wyjaśnień w mojej odpowiedzi .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaimportować zrzut Heroku PG na komputer lokalny?

  2. Utwórz kolumnę typu podwójna precyzja[] za pomocą liquibase

  3. Wspólna pamięć podręczna trafień w postgreSQL

  4. Czy istnieje sposób na zdefiniowanie nazwanej stałej w zapytaniu PostgreSQL?

  5. LISTEN/NOTIFY za pomocą pg_notify(text, text) w PostgreSQL