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

Проверете цяла таблица за една стойност

Можете да използвате специална функция на системата тип PostgreSQL:

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

Има съставен тип със същото име за всяка таблица, която създавате в PostgreSQL. И има text представяне за всеки тип в PostgreSQL (за входни/изходни стойности).

Следователно можете просто да прехвърлите целия ред към text и ако низът '999999' се съдържа в която и да е колона (нейният text представяне, за да бъдем точни) е гарантирано, че ще се покаже в заявката по-горе.

Не можете да изключите фалшиви положителни резултати напълно обаче, ако разделителите и/или декораторите, използвани от Postgres за представяне на редове, могат да бъдат част от думата за търсене. Просто е много малко вероятно. И определено не е така за вашата дума за търсене „999999“.

Имаше много подобен въпрос на codereview.SE наскоро. Добавих още обяснения в моя отговор там .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте стойностите на колоната с дата и време в епоха в заявка за избор на PostgreSQL

  2. Предаване на C променливи в SQL команда

  3. Npgsql с Pgbouncer на Kubernetes - обединяване и поддържане на активност

  4. PostgreSQL:дублираната стойност на ключ нарушава уникалното ограничение на командата UPDATE

  5. Как да инсталирате PostgreSQL на macOS