PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Vergleiche varchar mit char

Überhaupt kein Fehler.
Casting des String-Literals 'ab ' bis character , das erhalten Sie:

a

Per Dokumentation:

character ohne Längenangabe entspricht character(1) .

'a'::character(1) wird dann zu varchar gezwungen (character varying ), um mit 'a'::varchar auf Gleichheit zu testen oder 'ab'::varchar und ergibt TRUE oder FALSE bzw..

Grundsätzlich gibt es kaum einen guten Grund, character zu verwenden überhaupt . Es ist ein Legacy-Typ, der seine Nützlichkeit überlebt hat. Verwenden Sie einfach text oder varchar .

  • Irgendwelche Nachteile bei der Verwendung des Datentyps „Text“ zum Speichern von Strings?