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),
为什么调用它的时候就没有问题??请高手们帮我看看是什么问题。