sql中使用:substr(pj.investapp_no,1,50) LXPZWH,
报异常:"T_DLJG_TASK_DATA"."LXPZWH" 的值太大 (实际值: 52, 最大值: 50)
使用的语句是inset into tablename select....insertsubstr

解决方案 »

  1.   

    现在发现另外一个问题,如果把substr的第三个变量改为小于32的数就能通过,但是我的字段明明定义的就是varchar2(50),非常疑问
      

  2.   

    substr 函数是按照char 字符来截取长度。
    而字段定义varchar2(50) 默认是varchar2(50 byte) 是按字节定义的
    字符和字节的不同由字符集确定 GBK 1字符=2字节,所以报异常。
    在字段定义时可以用varchar2(50 char)代替