Можете да използвате специална функция на системата тип PostgreSQL:
SELECT *
FROM tbl t
WHERE t::text LIKE '%999999%';
Има съставен тип
със същото име за всяка таблица, която създавате в PostgreSQL. И има text
представяне за всеки тип в PostgreSQL (за входни/изходни стойности).
Следователно можете просто да прехвърлите целия ред към text
и ако низът '999999' се съдържа в която и да е колона (нейният text
представяне, за да бъдем точни) е гарантирано, че ще се покаже в заявката по-горе.
Не можете да изключите фалшиви положителни резултати напълно обаче, ако разделителите и/или декораторите, използвани от Postgres за представяне на редове, могат да бъдат част от думата за търсене. Просто е много малко вероятно. И определено не е така за вашата дума за търсене „999999“.
Имаше много подобен въпрос на codereview.SE наскоро. Добавих още обяснения в моя отговор там .