oracle如何给空数据行补零 如图
发布网友
发布时间:2022-05-06 06:51
我来回答
共5个回答
热心网友
时间:2022-06-28 23:00
先不说你空值用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')
热心网友
时间:2022-06-28 23:00
select ssid,decode(sname,null,'00',sname) sname from table
或
select ssid,nvl(sname,'00') sname from table
热心网友
时间:2022-06-28 23:01
使用nvl()函数
select nvl(列名,0) from 表名 where 条件追问按照你这样查的话.那一列的值全变成空了 莪的意思是没值的地方才补零噢
热心网友
时间:2022-06-28 23:01
你是想在数据插入的时候补还是怎么着?
如果不是可以用UPDATE
update 表 SET SNAME = '00' WHERE SNAME='' OR SNAME=NULL追问莪是在查出来显示结果的时候看到的是0而不是空
追答SELECT SSID,Nvl(SNAME,'00') FROM 表
热心网友
时间:2022-06-28 23:02
nvl(sname,0)