DB2除法的小数位问题(四舍五入问题)以及其他常用的函数
DB2除法的小数位问题(四舍五入问题)以及其他常用的函数
- 1. DB2取第一条数据
- 2. DB2 中指定值排序
- 2.1 使用case when
- 2.2 使用decode函数
- 3. 拼接函数
- 4. 强制转换类型——cast函数
- 5. DB2除法的小数位问题(四舍五入问题)
- 5.1 关于round函数
- 5.1.1 round()函数的简单理解
- 5.1.2 round() + cast()函数 实现四舍五入
- 5.2 dec() + cast()函数 实现四舍五入
- 6. 其他常用函数
- 6.1 关于 COALESCE 函数——空字段处理
- 6.2 trim()函数
- 6.3 字符串截取函数
- 6.3.1 substr()函数
- 6.3.2 left() 与 right() 函数
- 7. 更多关于DB2的基本操作
1. DB2取第一条数据
2. DB2 中指定值排序
2.1 使用case when
2.2 使用decode函数
- 如下:
SELECT decode(t.DEPT_LEVEL,'2',1,'3',2,'0',3,'1',4), t.*
FROM SYS_COMPANY_DEPT t
ORDER BY decode(t.DEPT_LEVEL,'2',1,'3',2,'0',3,'1',4)
3. 拼接函数
4. 强制转换类型——cast函数
5. DB2除法的小数位问题(四舍五入问题)
5.1 关于round函数
5.1.1 round()函数的简单理解
- 与oracle大同小异,可以参考oracle的此函数进行理解(3.5 ROUND() 与 TRUNC() 函数),如下:
Oracle 常用简单sql操作(insert into、merge into、start with connect by prior以及 regexp_substr等各种函数用法详解). - 然后感受一下db2中此函数的使用,如下:
SELECT round(0.6666,2) num_1,
(2/3) num_2,
round(2/3,2) num_3,
round(2/3) num_4,
round(0.3333,2)
FROM "SYSIBM".SYSDUMMY1 s ;
5.1.2 round() + cast()函数 实现四舍五入
- 效果对比sql如下:
SELECT round(0.6666,2) num_1,
(2/3) num_2,
round(2/3,2) num_3,
CAST((2/3) AS decimal(10,2)) num_4,
CAST(2 AS decimal)/3 num_5,
cast(CAST(2 AS decimal)/3 AS decimal(10,2)) num_6,
cast(round(CAST(2 AS decimal)/3,2) AS decimal(10,2)) num_7,
round(CAST(2 AS decimal)/3,2) num_8
FROM "SYSIBM".SYSDUMMY1 s ;
- 最终sql如下:
SELECT round(0.6666,2) num_1,
cast(round(CAST(2 AS decimal)/3,2) AS decimal(10,2)) num_7,
round(CAST(2 AS decimal)/3,2) num_8
FROM "SYSIBM".SYSDUMMY1 s ;
5.2 dec() + cast()函数 实现四舍五入
- 先看
dec()
函数单独使用,如下:SELECT
dec(0.6666,10,2) num_1,
dec(0.6666 + 0.5) num_2,
dec(0.6666 + 0.05,10,1) num_3,
dec(0.6666 + 0.005,10,2) num_4,
dec(0.6666 + 0.0005,10,3) num_5,
dec(2/3) num_6,
dec(2/3 + 0.0005,10,3) num_7
from "SYSIBM".SYSDUMMY1 s ;
dec()
+ cast()
结合使用SELECT
dec(2/3) num_6,
dec(2/3 + 0.0005,10,3) num_7,
dec(CAST(2 AS decimal)/3 ,10,2) num_8,
dec(CAST(2 AS decimal)/3 + 0.5) num_9,
dec(CAST(2 AS decimal)/3 + 0.05 ,10,1) num_10,
dec(CAST(2 AS decimal)/3 + 0.005 ,10,2) num_11
from "SYSIBM".SYSDUMMY1 s ;
6. 其他常用函数
6.1 关于 COALESCE 函数——空字段处理
6.2 trim()函数
- 如下:
SELECT trim(' abc '),ltrim(' abc '),rtrim(' abc '),length(rtrim(' abc ')),length(trim(' abc '))
from "SYSIBM".SYSDUMMY1 s ;
6.3 字符串截取函数
6.3.1 substr()函数
- 简单不多说,直接看,如下:
SELECT
SUBSTR('abcdef',2,3) ,
SUBSTR('123456',2,LENGTH('123456')-2),
SUBSTR('123456',LENGTH('123456')-1,2)
FROM "SYSIBM".SYSDUMMY1 s ;
6.3.2 left() 与 right() 函数
7. 更多关于DB2的基本操作
- 关于DB2的更多,可参考下面的文章:
- 使用docker安装db2.
- DB2中常见基础操作 ➕ DB2实现递归查询 ➕ DB2中自定义递归函数.
- DB2中实现数据字段的拼接(LISTAGG() 与 xml2clob、xmlagg).
- db2中多种方式备份数据(含db2中clob字段如何使用create table as方式备份).
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/613827.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!