Oracle中绝对值小于1的小数如何显示小数点前面的0

在oracle 中 如果是绝对值小于1的小数,则只会显示小数点后面的值,小数点前面的0就会被忽略掉,例如: 0.1  在oracle中会被显示为 .1

如何解决此类问题:

x=0.2

TO_CHAR(‘fm9999990.9999‘,x) 输出值为 0.2

但是现在出现了一个问题,如果是x=10,那么跟显示就会为10. ,在后面会多一个小数点,这样很不好看,怎么才能显示实际的输入,在网上找了ORACLE 的另外一个字符处理函数rtrim,所以现在这些按照如下的更改即可:
x =10
RTRIM(TO_CHAR(‘fm9999990.9999′,x) ,’.‘) → 10
这样处理过以后,如果是整数正常显示为整数,如果是小数则是以保留4位精度显示。

方案二:
另外通过如下方法可以处理:
select

DECODE(TRUNC(:decimal_number),
              REPLACE(TO_CHAR(:decimal_number),‘.‘,‘TO_CHAR(:decimal_number)

)

from dual;

时间: 2024-10-25 19:35:57

Oracle中绝对值小于1的小数如何显示小数点前面的0的相关文章

oracle查询不显示小数点前的0

1.问题起源       oracle 数据库字段值为小于1的小数时,使用char类型处理,会丢失小数点前面的0       例如0.35就变成了.35 2.解决办法:用to_char函数格式化数字显示       select     to_char(0.338,'fm9999999990.00') from dual;      结果:0.34      这里重点要看 fm9999999999.99,表示整数部分最多10位,小数部分2位,fm表示去 掉转位字符串后前面的空格,不加fm,0.3

javascript中去掉字符串前面的0

var str = "00012300325300"; str = str.replace(/\b(0+)/gi,""); // 去掉字符串前面的0 document.write("str=" + str + "</br>"); 上面代码中replace的正则表达式就是去掉字符串前面的0 javascript中去掉字符串前面的0,布布扣,bubuko.com

Oracle取月份-不带前面的0

出处:http://www.2cto.com/database/201208/145611.html 今天碰到只要取月份和天数,如果月份前面有0要去掉0.比如说2010-01-08 ,需要的结果是1-8. 引出了一系列的sql语句 第一: 利用to_number的函数转换自动截0 select to_number(to_char(sysdate,'mm'))||'-'||to_number(to_char(sysdate,'dd')) from dual; 第二: 利用ltrim函数加固定参数去

在JSP中获取oracle中的时间戳类型的字段并显示

在oracle中有一种特殊的时间显示类型——Timestamp时间戳 通常我们将当前时间转化为时间戳的语法如下: select cast (sysdate as timestamp ) from dual 在一个JSP页面中,需要获取一个时间戳字段,以显示在页面上 首先,是对JDBC的操作 sql语句用: select * from testlibrary 假设testlibrary中的modifydate字段的类型为TIMESTAMP(6) Testlibrary tlb= new Testl

PL/SQL导出到execl中,数据前面的0发生丢失的解决办法

ERR出现的场景再现: 使用 PL/SQL导出按钮,选择‘CSV文件’,保存为1.csv,后用execl打开,复制到VuGen中作为login脚本的参数化文件username. ERR及发现过程: 在跑login场景时,使用的参数化了用户名与密码,并且使用 random + iteration的组合方式,总会出现2-3个登录事务失败,最后在脚本中增加lr_log_message()函数输出每次的用户名,同时更改方式为 unique + iteration,先跑了10000个用户,来查看究竟是哪些

oracle小数点前零丢失的问题

1.问题起源        oracle  数据库 字段值为小于1的小数时,使用char类型处理,会丢失小数点前面的0        例如0.2就变成了.2 2.解决办法: (1)用to_char函数格式化数字显示        select     to_char(0.338,'fm9999999990.00') from dual;       结果:0.34       这里重点要看 fm9999999999.99,表示整数部分最多10位,小数部分2位,fm表示去 掉转位字符串后前面的空格

Oracle中的单行函数

Oracle中的单行函数 1 字符函数 UPPER()--将字符串转换为大写 SELECT UPPER('abc') FROM dual; LOWER()-将字符串转换为小写 SELECT LOWER('ABC') FROM dual; INITCAP()-首字母大写,其它字母小写. SELECT INITCAP('hello') FROM dual; REPLACE()-将指定的字符/字符串替换 SELECT REPLACE('abcd efg','cd','XXX') FROM dual;

Oracle中创建触发器示例及注意事项

Oracle中创建触发器示例及注意事项 1.oracle 中创建触发器示例 CREATE TABLE "CONCEPT"."FREQUENCYMODIFYLOG" ( "FREQUENCYID" NUMBER(10,0), "NAME" NVARCHAR2(30), "CODE" VARCHAR2(10 CHAR), "MNEMONICCODE" VARCHAR2(10 CHAR), &

转,Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数

关于处理小数点位数的几个oracle函数() 1. 取四舍五入的几位小数 select round(1.2345, 3) from dual; 结果:1.235 2. 保留两位小数,只舍 select trunc(1.2345, 2) from dual; 结果:1.23 select trunc(1.2399, 2) from dual; 结果:1.23 3.取整数 返回大于或等于x的最大整数: SQL> select ceil(23.33) from dual; 结果: 24 返回等于或小于