Guillaume Lelarge wrote:
Pascal Cohen a écrit :
I had a look in previous posts in the forum but could not find the
answer I was looking for.
My question is should I switch from varchar to text.
We have "discovered" although it seems to be SQL that adding
something like 'text ' to a varchar(50) just silently
cut the text while a text with check(length) - or also a varchar with
a check raised an error.
Nope. If you try to add some text with more than 50 characters on a
varchar(50) column, you will get an error. For example :
test=# create table t (c varchar(5));
CREATE TABLE
test=# insert into t (c) values ('12345');
INSERT 0 1
test=# insert into t (c) values ('123456');
ERREUR: valeur trop longue pour le type character varying(5)
(the english error message is:
ERROR: value too long for type character varying(5)
).
Which release do you use ?
I am with 8.3.1 release but I mentioned that this appears with spaces at
then end not with standard chars. Of course your examples are working
fine but insert something like 'abc ' (with several spaces and it
will work but just ignore the spaces above the 5th char.