ZDNetChina中文社区 » 系统架构 » IBM软件技术 » create function trim时产生的奇怪问题


2007-12-24 00:38 sunri
create function trim时产生的奇怪问题

由于DB2中没有TRIM函数,只有LTRIM和RTRIM;为了不修改我原有的程序,我用Create   Function写了一个函数,如下:
CREATE   FUNCTION   SCHEMA.TRIM
  (STR   VARCHAR(4000)
  )   
    RETURNS   VARCHAR(4000)
    SPECIFIC   SCHEMA.TRIM
    LANGUAGE   SQL
    DETERMINISTIC
    CONTAINS   SQL
    NO   EXTERNAL   ACTION
    RETURN   LTRIM(RTRIM(STR));
函数注册通过,但是从结果看,有问题如下:
似乎调用TRIM函数的列都变成4000字符长度了。
即,如果有SQL语句:select   trim(name)   as   name   from   company;
则返回的name字段值会变的很长。
本来怀疑是返回类型的问题,可是我也查看过LTRIM的函数,它的返回类型也是VARCHAR(4000),
为什么调用它的时候就没有问题??请高手们帮我看看是什么问题。

页: [1]


Powered by Discuz!  Archiver   © 2001-2006 Comsenz Inc.