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从数据库中取数取出来也是填充了的)。

相关推荐
麦聪聊数据13 小时前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_13 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡13 小时前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧14 小时前
Oracle EXPLAIN PLAN
数据库·oracle
BD_Marathon14 小时前
SQL学习指南——视图
数据库·sql
活宝小娜14 小时前
mysql详细安装教程
数据库·mysql·adb
贤时间14 小时前
codex 助力oracle ebs 开发
数据库·oracle
秉承初心15 小时前
PostgreSQL 数据性能瓶颈突破实战
数据库·postgresql·oracle
Database_Cool_15 小时前
即席查询(Ad-Hoc)数据库选型:AnalyticDB MySQL 秒级 Ad-Hoc 分析方案
数据库·mysql