帮我看看,怎么回事?

update table1 set name=name+'0' where len(name)=9
说什么截断字符和二进制数据??

---------------------------------------------------------------

当name为char类型而非varchar类型时,必须
update table1 set name=rtrim(name)+'0' where len(name)=9
无论name为char类型或varchar类型,都得保证字段长度大于9,否则也会出这个错
---------------------------------------------------------------

如果你NAME字段是CHAR类型的话,那么当你给Name赋值'AAA'时,其实际的值会是'AAA ',也就是说后会会跟七个空格,但是当你在Name后面再加'0'后,它的值就是'AAA 0',但是这样就不行了,招过你定义的宽度了。所以就插入时出错了。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus