平均函数DB2 SQL运行时错误
我在DB2中运行这个sql语句平均函数DB2 SQL运行时错误,sql,db2,runtime-error,runtime,average,Sql,Db2,Runtime Error,Runtime,Average,我在DB2中运行这个sql语句 SELECT (CASE WHEN AVG(TVAPC) > 0 THEN 'Y' ELSE 'N' END) FROM TABLE1 到目前为止,它正在发挥作用。。TVAPC列是char(5)。 但在运行时我们得到了那个错误。sql错误+364错误。我们不能抓住那个熟悉的错误案例。有时我们得到有时我们不能为同样的情况 这似乎是运行时错误,但如何防止该错误 非常感谢你 为什么要取字符串的平均值?您应该修复数据格式 在任何情况下,都可以检查该值是否有数字
SELECT (CASE WHEN AVG(TVAPC) > 0 THEN 'Y' ELSE 'N' END)
FROM TABLE1
到目前为止,它正在发挥作用。。TVAPC列是char(5)。
但在运行时我们得到了那个错误。sql错误+364错误。我们不能抓住那个熟悉的错误案例。有时我们得到有时我们不能为同样的情况
这似乎是运行时错误,但如何防止该错误
非常感谢你 为什么要取字符串的平均值?您应该修复数据格式 在任何情况下,都可以检查该值是否有数字。这里有一种方法(假设值是一个数字):
为什么要取字符串的平均值?您应该修复数据格式 在任何情况下,都可以检查该值是否有数字。这里有一种方法(假设值是一个数字):
我还并没有足够的声誉来评论你们的帖子,所以我要发布一个“答案”,冒着被皇室否决的风险,并因为这样做而诋毁我。检查列的数据类型。当我运行它时,只要columns数据类型是数值类型,它就可以正常工作。如果恰好是您的情况(列类型不是数字),则将其转换为Int
--In case it isn't a numeric type...
SELECT (CASE WHEN AVG(CAST(column as int))>0 THEN 'Y' ELSE 'N' END)
FROM TEMP1234
我还并没有足够的声誉来评论你们的帖子,所以我要发布一个“答案”,冒着被皇室否决的风险,并因为这样做而诋毁我。检查列的数据类型。当我运行它时,只要columns数据类型是数值类型,它就可以正常工作。如果恰好是您的情况(列类型不是数字),则将其转换为Int
--In case it isn't a numeric type...
SELECT (CASE WHEN AVG(CAST(column as int))>0 THEN 'Y' ELSE 'N' END)
FROM TEMP1234
最有可能是TVAPC列中的错误数据。该值必须可强制转换为数字类型,AVG才能在该上下文中发挥作用。您的Db2服务器版本是什么?Db2服务器运行在哪个操作系统上?最有可能是TVAPC列中的坏数据。该值必须可强制转换为数字类型,AVG才能在该上下文中发挥作用。您的Db2服务器版本是什么?Db2服务器运行在哪个操作系统上?
convert()
不是Db2函数(至少在Db2 LUW中不是)convert()
不是Db2函数(至少在Db2 LUW中不是)