(1)
SELECT claimno,
SUM(
CASE
WHEN p2.lbttosubj='O'
THEN p1.judgeidt--为数字类型
ELSE 0
END) AS judgeidttriloss
FROM ods.t_idtlbts p1,
ods.t_lbt p2
WHERE p1.lbtcode=p2.lbtcode and p1.isclaimLbt='N'
gROUP BY claimno
---这样会报错“DB2 SQL0802N错误(发生算术溢出或其他算术异常)”
(2)
bigint作用:
没加bigint函数时,数据类型为整形,4个字节32bit,最长10位数字,改为bigint后,变为8个字节64bit,自然不会溢出了。
SELECT claimno,
SUM(
CASE
WHEN p2.lbttosubj='O'
THEN bigint( p1.judgeidt)
ELSE 0
END) AS judgeidttriloss
FROM ods.t_idtlbts p1,
ods.t_lbt p2
WHERE p1.lbtcode=p2.lbtcode and p1.isclaimLbt='N'
gROUP BY claimno
--这样虽然不会报溢错误,但是我的数据就不精确了,因为p1.judgeidt)后面有小数,
(3)
SELECT claimno,
SUM(
CASE
WHEN p2.lbttosubj='O'
THEN trunc(p1.judgeidt,3) ---trunc(x[,y])返回x截为y位小数的结果值
ELSE 0
END) AS judgeidttriloss
FROM ods.t_idtlbts p1,
ods.t_lbt p2
WHERE p1.lbtcode=p2.lbtcode and p1.isclaimLbt='N'
gROUP BY claimno
分享到:
相关推荐
在DB2连接时,客户端出现 SQL1032N的错误有可能是DB2的认证信息过期了,或者启动DB2启动不了、列出db2 list active database等等,有报错包里面有错误的解释、操作的文件和把DB2修改成永久的的文件
DB2中出现的主要错误,操作数据库过程中,遇到许多问题,很多都与SQL CODE和SQL State相关,现在把一个完整的SQLCODE和SQLState错误信息和相关解释作以下说明,一来可以自己参考,对DB2错误自行找出原因
资源名称:DB2 SQL性能调优秘笈资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
DB2中sql执行错误返回的sqlcode错误码,对应的sqlstate和错误信息描述字典表。
DB2 SQL 消息,非常方便管理员与操作者查找以便解决错误.比如SQL0440N 找不到具有兼容自变量的类型为 例程类型 的名为 例程名 的已授权例程。
DB2 SQL Reference,DB2 SQL参考手册
DB2中几种遇到的SQL1032N出错的解决
DB2数据库SQL注入手册1
IBM DB2SQL信息
DB2报错:SQL10007N Message "-1390" could not be retrieved. Reason code
db2 Sql手册,使用db2的TX必备资源。
DB2 SQL语句性能分析方法
一本很好的书,都是经验的积累,非常的实用
IBM CF12 DB2 SQL Workshop原版教材,详细介绍了DB2 中各种标准和专门的SQL语句使用方法,一共7个单元。
db2启动错误db2启动错误db2启动错误db2启动错误db2启动错误db2启动错误
便于db2的错误查询
这是我的培训文档,我总结的很详细了,有sqlserver 也有db2 的,包括很多内容。对应搞BI或者语句开发的很有帮助。
DB2 SQL 通过函数(CONCAT/POSSTR/LOCATE)实现行转列,列转行 可以按照标点把多列转换为一行,多行转换为一列
DB2 SQL 数学函数 DB2 SQL 数学函数 DB2 SQL 数学函数 DB2 SQL 数学函数
$ db2 restore database dbname from "/db2home/db2inst1" on "/db2home/db2inst1/db2inst1/NODE0000" into dbname SQL2519N The database was restored but the restored database was not upgraded to the ...