Oracle数据库中数据保留两位小数点的方法

本文介绍了在Oracle数据库中保留数据到两位小数的多种方法,包括使用`DECODE`、`TRUNC`、`ROUND`、`TO_CHAR`结合`FM`格式、`CASE WHEN THEN ELSE END`等,以及讨论了各种方法的适用场景和注意事项,如避免出现'.'00'、'####'等问题。
摘要由CSDN通过智能技术生成

个人认为比较方便的一种:
select decode(n_jg,0,‘0.00’,trim(to_char(n_jg,‘9999999.99’))) from tbl ------这种方法当整数点是0的时候不显示!!!
如果只是检索,可是使用:
1、select trunc(CUR_SUM,2) from data_record;
将小数转化成百分比=> round(zcbj/zs*100)||’%’ ==trunc((zcbj/zs),2)*100||’%’ ------这种方法不会进行四舍五入
2、如果想更新数据,可以使用:
update data_record set CUR_SUM=trunc(CUR_SUM,2) where REC_NO=123

方法一:使用to_char的fm格式
to_char(round(data.amount,2),‘FM9999999999999999.00’) as amount
不足之处是,如果数值是0的话,会显示为.00而不是0.00。
另一需要注意的是,格式中小数点左边9的个数要够多,否则查询的数字会显示为n个符号“#”。
解决方式如下:
select decode(salary,0,‘0.00’,(to_char(round(salary,2),‘fm99999999999999.00’))) from can_do;

方法二:使用case when then else end进行各种情况的判断处理 ------这种方法当整数位是0的时候,不会显示整数位的0
case
when instr(to_char(data.amount), ‘.’) < 1 then
data.amount || ‘.00’
when instr(to_ch

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库,可以使用不同的函数和格式化选项来保留小数后两位。以下是几种常见的方法: 1. 使用CAST函数:可以使用CAST函数将数值转换为特定的数据类型,并指定小数后的位数。例如,使用SELECT CAST(19.4667 AS decimal(9,2)),可以将数值19.4667转换为保留两位小数的decimal类型,结果为19.47。如果不想进行四舍五入,可以使用其他函数方法。 2. 使用ROUND函数:ROUND函数可以对数值进行四舍五入,并指定小数后的位数。例如,使用SELECT ROUND(567.45676,2),可以将数值567.45676四舍五入到小数后两位,结果为567.46。如果想要向下取整,可以使用负数作为第二个参数,例如SELECT ROUND(567.45676,-1),结果为570.00。 3. 使用TO_CHAR函数:TO_CHAR函数可以将数值转换为字符串,并指定格式化选项。通过指定合适的格式化选项,可以实现小数保留两位的效果。例如,使用SELECT TO_CHAR(19.4667, '9999.99'),可以将数值19.4667转换为字符串,并保留两位小数,结果为19.47。 综上所述,以上是几种在数据库保留小数后两位的常见方法。具体使用哪种方法取决于你的需求和数据库的支持。 #### 引用[.reference_title] - *1* *2* [数据库保留两位小数](https://blog.csdn.net/weixin_33672109/article/details/93619246)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Oracle数据库保留小数后两位的问题](https://blog.csdn.net/qq_35606010/article/details/120213529)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值