sql >> Database >  >> RDS >> PostgreSQL

Vergelijk varchar met char

Helemaal geen bug.
De letterlijke tekenreeks 'ab ' . casten naar character , dit is wat je krijgt:

a

Per documentatie:

character zonder lengtespecificatie is gelijk aan character(1) .

'a'::character(1) wordt dan gedwongen tot varchar (character varying ) om te testen op gelijkheid met 'a'::varchar of 'ab'::varchar en opbrengst TRUE of FALSE respectievelijk.

Kortom, er is nauwelijks een goede reden om character te gebruiken helemaal . Het is een legacy-type dat zijn nut heeft overleefd. Gebruik gewoon text of varchar .

  • Enige nadelen van het gebruik van datatype "text" voor het opslaan van strings?



  1. Dubbele rijen verwijderen uit kleine tabel

  2. Verschil van twee datums in sql-server

  3. Voer regex (vervangen) uit in een SQL-query

  4. Een CTE maken in Oracle