一个很奇葩的DB2-sql问题,高手进

w89254362b 2015-07-29 08:09:26
本猿,写了一个聚合数据的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环境下可以执行。要说代码对吧,这一行又执行不了。在网上看,觉得有一种可能,会不会是索引失效了,但是还不太懂。说来说去,还是希望,有高人来指点指点。
...全文
1103 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
w89254362b 2015-12-11
  • 打赏
  • 举报
回复
因为后来更换时实现方法,所以没有深究问题下去。目前来看可能是数据库的页的size太小了,很可能是这方面的问题。找答案的看管可以参考一下。
sifadmwy 2015-09-28
  • 打赏
  • 举报
回复
先不加timestamp 直接拼接 然后看看结果是不是有什么地方不符合
dangmao 2015-09-17
  • 打赏
  • 举报
回复
time1这几个time中有数据为空或者NULL了吧,准换成timestamp就会出错

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧