一个很奇葩的DB2-sql问题,高手进
本猿,写了一个聚合数据的sql,在实验环境下,测试都是ok的。大概有十几万条的数据。然后,拿到生产环境下再测试,悲剧就发生了,提示DB2 SQL Error: SQLCODE=-180, SQLSTATE=22007。 首先我是知道这是一个timestamp转换错误。意思是传入的参数不正确。但是我在测试环境下是没有问题的。生产环境和测试环境不同在于,生产环境下,大概有三千万条数据。出错的是这样一行代码: select column1, TIMESTAMP(S.time1|| ‘-’ || S.time2|| '-' S.time3 || ' ' || S.time4|| ':' || S.time5||':'00' ),column3... from left join table 1 AS S on table 2
其中S是一个左外连接的左表的别名。把timesatmp函数注释掉就不报错了。
我很郁闷,要说代码语法不对吧,明明在test环境下可以执行。要说代码对吧,这一行又执行不了。在网上看,觉得有一种可能,会不会是索引失效了,但是还不太懂。说来说去,还是希望,有高人来指点指点。