Můžete použít speciální funkci systému typu PostgreSQL:
SELECT *
FROM tbl t
WHERE t::text LIKE '%999999%';
Existuje složený typ
se stejným názvem pro každou tabulku, kterou vytvoříte v PostgreSQL. A je tam text
reprezentace pro každý typ v PostgreSQL (pro vstupní / výstupní hodnoty).
Proto můžete celý řádek přenést do text
a pokud je řetězec '999999' obsažen v libovolném sloupci (jeho text
reprezentace, abych byl přesný), je zaručeno, že se zobrazí ve výše uvedeném dotazu.
Nemůžete vyloučit falešné poplachy zcela, pokud však mohou být součástí hledaného výrazu oddělovače a/nebo dekorátory používané Postgresem pro reprezentaci řádků. Je to prostě velmi nepravděpodobné. A to samozřejmě neplatí pro váš hledaný výraz '999999'.
Nedávno byla na codereview.SE velmi podobná otázka. Do své odpovědi jsem přidal další vysvětlení .