Ce n'est pas du tout un bogue.
Transformation de la chaîne littérale 'ab '
à character
, voici ce que vous obtenez :
a
Par documentation :
character
sans spécificateur de longueur est équivalent àcharacter(1)
.
'a'::character(1)
sera alors contraint à varchar
(character varying
) pour tester l'égalité avec 'a'::varchar
ou 'ab'::varchar
et donne TRUE
ou FALSE
respectivement.
Fondamentalement, il n'y a pratiquement aucune bonne raison d'utiliser character
du tout . C'est un type hérité qui a perdu son utilité. Utilisez simplement text
ou varchar
.
- Y a-t-il des inconvénients à utiliser le type de données "texte" pour stocker des chaînes ?