DB2四舍五入保留四位小数

sql 复制代码
SELECT CAST(ROUND(column_name,4) AS DECIMAL(10,4)) FROM table_name;

ROUND用于四舍五入,比如1.55555555四舍五入到第四位小数,变成1.55560000.但是后面会变成0,不会截断。要再使用CAST之后才会变成1.5556. DECIMAL(10,4)就用数据库定义的那个长度改造就行。比如数据库是DECIMAL(10,6)保留4位就写DECIMAL(10,4)

(这种功能竟然要两个函数实现吗...会不会有更简单的方法,否则太不智能了)

补充一下DECIMAL(M,N)的含义

DECIMAL(M,N) 中M为不带小数点的总长度,N为小数长度,M-N为整数长度。整数不可超长,小数可超长数据库进行自动截取(最后一位四舍五入),短则自动填充(在数据表里直接看是没有填充的,但是双击字段的值变成可编辑状态可以看到末尾填充了,JAVA从数据库中取数取出来也是填充了的)。

相关推荐
使者大牙1 小时前
【单点知识】 Python装饰器介绍
开发语言·数据库·python
数智工坊2 小时前
【操作系统-文件管理】
数据结构·数据库
oioihoii2 小时前
Oracle迁移KingbaseES实战
数据库·oracle
wniuniu_2 小时前
增加依据。。
服务器·网络·数据库
爱敲代码的小鱼2 小时前
事务核心概念与隔离级别解析
java·开发语言·数据库
Mr.徐大人ゞ2 小时前
6.用户及权限管理
数据库·postgresql
赵渝强老师2 小时前
【赵渝强老师】Oracle多租户容器数据库
数据库·oracle
IT技术分享社区2 小时前
GTID 结构升级 + JSON 视图强化,MySQL 9.6 创新版带来哪些性能提升?
数据库·程序员
阿杰 AJie3 小时前
MySQL 聚合函数
android·数据库·mysql
菜鸟小九3 小时前
redis高级(存储能力问题)
数据库·redis·缓存