我有一张表client_code
是character varying(10)
列。
现在,此查询不起作用:
insert into mydb.mytable (CLIENT_CODE) values ('0123456789');
我得到ERROR: value too long for type character varying(10)
。
在查询中放入9个字符时,运行正常。
我觉得很奇怪。这不是the definition of character varying我读过的。
我将PostgreSQL 9.3.19与ENCODING = 'UTF8'
和LC_CTYPE = 'French_France.1252'
一起使用。
答案 0 :(得分:2)
是你的字符串,第二行是由我手动整理的:
t=# with d(s,t) as (values(1,'0123456789'),(2,'0123456789'))
select *,char_length(t),ascii(t),ascii(substring(t,2,1)) from d;
s | t | char_length | ascii | ascii
---+------------+-------------+-------+-------
1 | 0123456789 | 11 | 65279 | 48
2 | 0123456789 | 10 | 48 | 49
(2 rows)
你有http://www.fileformat.info/info/unicode/char/feff/index.htm ZERO WIDTH NO-BREAK SPACE
作为fisrt char - 你没有看到它,但postgres确实