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

Sammenlign varchar med char

Slet ikke en fejl.
Casting af strengen literal 'ab ' til character , dette er hvad du får:

a

Per dokumentation:

character uden længdeangivelse svarer til character(1) .

'a'::character(1) vil derefter blive tvunget til varchar (character varying ) for at teste for lighed med 'a'::varchar eller 'ab'::varchar og give TRUE eller FALSE hhv.

Grundlæggende er der næppe nogen god grund til at bruge character overhovedet . Det er en arvetype, der har overlevet sin brugbarhed. Brug bare text eller varchar .

  • Er der nogen ulemper ved at bruge datatypen "tekst" til at gemme strenge?



  1. Brug af IF ELSE-sætning baseret på Count til at udføre forskellige Insert-sætninger

  2. Om der skal bruges SET NAMES

  3. MySQL - kan jeg begrænse den maksimalt tilladte tid for en forespørgsel at køre?

  4. Sådan angives placeringen af ​​datafiler og logfiler, når du opretter en database i SQL Server