不同的DB2版本差异

最近工作中需要写存储过程,包括ORACLE和DB2两个版本的数据库,ORACLE没什么问题,但DB2写出来的脚本在不同的数据库版本下表现有差异,脚本大概是这样的:

这个脚本在DB2 9.7版本可以执行,但是在9.5上就会报错,类型转换的错误,修改脚本如下:

修改后的脚本在9.5版本上可以执行,但是除了的字符串只有14位,在9.7版本上会报错,我把SELECT之后的FlowId用LENGTH获取长度,发现9.5版本上是11,而9.7版本上是30,所以9.7版本报错的原因就是因为REPEAT函数的第二个参数已经减为负数了。但是为什么9.5版本上字符串只有14位,现在还不知道,然后两个版本LENGTH返回的长度不同也还没搞清楚。最后我们把FlowId去空格,两个版本上的表现就一样了,出来的字符串有18位,最终代码如下:

您还未添加分享代码,请到主题选项中,添加百度分享代码!

您可以选择一种方式赞助本站

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情