Изобщо не е грешка.
Предаване на низовия литерал 'ab '
към character
, ето какво получавате:
a
По документация:
character
без спецификатор на дължина е еквивалентен наcharacter(1)
.
'a'::character(1)
след това ще бъде принуден да varchar
(character varying
), за да тествате за равенство с 'a'::varchar
или 'ab'::varchar
и дава TRUE
или FALSE
съответно.
По принцип едва ли има основателна причина да се използва character
изобщо . Това е наследен тип, който е надживял своята полезност. Просто използвайте text
или varchar
.
- Някакви недостатъци при използването на тип данни „текст“ за съхранение на низове?