根据文档,超过字符变量或VARCHAR指定长度的字符串应进行截断:
以下内容无法执行,出现ERROR: value too long for type character varying(20)错误。
但我无法使其正常工作。现在文档确实说必须“显式”将一个值转换为character varying,因此可能我错过了这一点。下面是一个简单的测试表:如果将一个值显式转换为character varying(n)或character(n),则长度超过n的值将被截断为n个字符而不会引发错误。(这也是SQL标准所要求的。)
create table test1(
tval character varying(20));
以下内容无法执行,出现ERROR: value too long for type character varying(20)错误。
insert into test1 values
('this is a super long string that we want to see if it is really truncated');
我该如何让这个工作起来?