当前位置: 代码迷 >> DB2 >> DB2 LENGTH函数的有关问题,请 ,谢谢了
  详细解决方案

DB2 LENGTH函数的有关问题,请 ,谢谢了

热度:7576   发布时间:2013-02-26 00:00:00.0
DB2 LENGTH函数的问题,请大家帮忙看看啊 ,多谢了啊
在procedure中
  DECLARE     NextNum   DECIMAL(25,   0)     DEFAULT   -1;            
  DECLARE     num1     BIGINT     DEFAULT   -1;  
  DECLARE     nlen       integer   DEFAULT   -1;    
  DECLARE     sMsg     Varchar(21)       DEFAULT   ' ';      
  set   NextNum     =1000;              
  set         num1           =   BIGINT(NextNum);    
set     nlen       =   length(num1);
//   这里为什么nlen       不是4,而是他的   字节长度8
set     nlen       =   length(char(   BIGINT(NextNum)));
//为什么这里的nlen       又是20     而切如过在声明变量类型   DECLARE     sMsg     Varchar(21)       DEFAULT   ' ';     小于20是   这里返回的就是定义的长度
如DECLARE     sMsg     Varchar(18)       DEFAULT   ' ';     这里的nlen       就是18     请高手帮忙解货的啊  


------解决方案--------------------------------------------------------
奇怪
------解决方案--------------------------------------------------------
set Num= char(BIGINT(NextNum));
Num=rtrim(Num);

然后再用 set nlen = length(Num);去长就正常了.
你试试
  相关解决方案