U kunt een speciale functie van het PostgreSQL-type systeem gebruiken:
SELECT *
FROM tbl t
WHERE t::text LIKE '%999999%';
Er is een composiettype
met dezelfde naam voor elke tabel die u in PostgreSQL maakt. En er is een text
weergave voor elk type in PostgreSQL (naar invoer- / uitvoerwaarden).
Daarom kun je de hele rij gewoon casten naar text
en als de string '999999' in een kolom staat (zijn text
representatie, om precies te zijn) het wordt gegarandeerd weergegeven in de bovenstaande zoekopdracht.
U kunt false positives niet uitsluiten volledig, echter als scheidingstekens en / of decorateurs die door Postgres worden gebruikt voor de rijweergave deel kunnen uitmaken van de zoekterm. Het is gewoon erg onwaarschijnlijk. En zeker niet het geval voor uw zoekterm '999999'.
Er was onlangs een zeer vergelijkbare vraag op codereview.SE. Ik heb wat meer uitleg toegevoegd aan mijn antwoord daar .