oracle round前后增加空格怎么保留小数前前0

oracle round前后增加空格怎么保留小数前前0,第1张

select case when round(字段,2) like '%' then ' 0'|| round(字段,2) ||' '  else ' '|| round(字段,2) ||' '  end from 表

先不说你空值用0表示的问题
就是opdate=sysdate估计你也很难得到结果,sysdate表示系统当前时间,包含时分秒,你那个opdate怎么可能会和sysdate相等呢?
真的要是把空值用0表示的话,oracle中有nvl函数
select nvl(workbillid,0) from kf_workbill
意思就是把workbillid字段为空的显示成0,当然也可以显示成任何字符或者数字
友情提醒一下:
你那个opdate=sysdate是不是该改成
to_char(opdate,'yyyymmdd')=to_char(sysdate,'yyyymmdd')

SELECT substr('DF5811C4A0036', 1, 9)||trim(to_char((to_number(substr('DF5811C4A0036', -4, 4)) + 1), '0000') ) FROM DUAL;
oracle中to number函数是将一个字符串转换为数字数据类型,使用格式为
TO_NUMBER(<value>[, <format>, <NLS parameter>]) RETURN NUMBER。

你如果是声明什么int类型或者long类型这样你想保留前面的0可能不行,你声明String类型就是了。如果你觉得声明String类型读取数据库处理麻烦,你就声明int类型,虽然说数据库里面这些数字类型前面没有0,但是你可以取出来的时候用If语句判断,然后在前面加0,这样显示不久成功了吗。

create table 表名(字段名 字段类型 default 默认值);
例如:
create table T(col varchar2(10) default '0001');

access:
update tab1 set col1 = "0" & col1;
oracle:
update tab1 set col1 = '0' || col1;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12703175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存