问题一: 用jdbc插入数据时,当数据库表中某列设置的长度小于要插入的字符的实际长度时就会抛出此异常。
如:数据表中某列char [4],长度为4,插入:"Hello"时,字符"Hello"长度超过4,抛出异常。
注:插入中文字符时,在程序中用"参数.length() "统计字符时将中文识别为一个字符,但是插入数据库时,会将中文识别为两个字符,这样就造成了上面的超出长度问题。
问题二: 用SQL CONVERT() 函数进行数据类型转换时,当其中数据类型的长度小于要转换的实际数据的长度时就会抛出此异常。
如:SELECT CONVERT(NUMERIC(8,2),A.XSJE - A.YHJE) XS_MONEY FROM XSJL_YJHX A,会抛出此异常,但修改为:SELECT CONVERT(NUMERIC(10,2),A.XSJE - A.YHJE) XS_MONEY FROM XSJL_YJHX A,就可能不会再出现异常。