最近从事DB2 8到DB2 9 升级转换工作.
发现部分函数出现变动
像
LEFT DB2 8版本中 第二个参数 如果超过字符长度本身 则返回字符长度 而DB2 9 竟然异常 OH MYG (SUBSTR 也是如此)
应用里面不知道多少函数要换掉 ..
IBM 开发员 脑子不知道怎么想滴......欲哭无泪!!
只好重新自定义函数了
DROP FUNCTION DB2ADMIN.LEFTB
CREATE FUNCTION DB2ADMIN.LEFTB(LS_STR VARCHAR(255),LEN INTEGER)
RETURNS VARCHAR(255)
F1:BEGIN ATOMIC
RETURN SELECT CASE WHEN LENGTH(LS_STR)< LEN THEN LEFT(LS_STR,LEN) ELSE LS_STR END
FROM DB2ADMIN.TABLE_MASK ;
END