No es un error en absoluto.
Convertir el literal de cadena 'ab '
a character
, esto es lo que obtienes:
a
Por documentación:
character
sin especificador de longitud es equivalente a character(1)
.
'a'::character(1)
luego será obligado a varchar
(character varying
) para probar la igualdad con 'a'::varchar
o 'ab'::varchar
y produce TRUE
o FALSE
respectivamente.
Básicamente, casi no hay una buena razón para usar character
en absoluto . Es un tipo heredado que ha dejado de ser útil. Solo usa text
o varchar
.
- ¿Alguna desventaja de usar el tipo de datos "texto" para almacenar cadenas?