sql >> Database teknologi >  >> RDS >> PostgreSQL

Tjek en hel tabel for en enkelt værdi

Du kan bruge en særlig funktion i PostgreSQL-systemet:

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

Der er en sammensat type af samme navn for hver tabel, du opretter i PostgreSQL. Og der er en text repræsentation for hver type i PostgreSQL (til input/output værdier).

Derfor kan du bare caste hele rækken til text og hvis strengen '999999' er indeholdt i en kolonne (dens text repræsentation, for at være præcis) vil den med garanti blive vist i forespørgslen ovenfor.

Du kan ikke udelukke falske positive dog fuldstændigt, hvis separatorer og/eller dekoratorer brugt af Postgres til rækkerepræsentationen kan være en del af søgeordet. Det er bare meget usandsynlig. Og positivt ikke tilfældet for dit søgeord '999999'.

Der var et meget lignende spørgsmål på codereview.SE for nylig. Jeg tilføjede noget mere forklaring i mit svar der .



  1. Skift sprog på systemet og fejlmeddelelser i PostgreSQL

  2. Datatrunkering:Data for lange til kolonne 'logo' i række 1

  3. Find punkt i polygon PHP

  4. søge data mellem datoer gemt i varchar i mysql