十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
有补位的,但是没有专门补0的,你想怎么补0?
创新互联是一家集网站建设,昭阳企业网站建设,昭阳品牌网站建设,网站定制,昭阳网站建设报价,网络营销,网络优化,昭阳网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
如果是19改为19.00那么好像数据库内部直接就可以这样保存,我记得可以设置精确到多少位,怎么设置我忘了,不过应该是可以设置的。
类似这种我只会一个操作字符串的,不是操作数字的,是lpad(左补位)和rpad(右补位)
举例:
假设原来是字段内容为aa,
语句为select lpad(字段,5,'-') from table ,那么显示的内容为---aa。
如果是rpad那么则是aa---。5就是字符串总共的长度,'-'是你要添加的字符。
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。
补空查询和补零查询是两个不同概念。
补空查询是将空格替换成特定字符,可用replace函数。
如test表中有如下数据:
现在要将str字段内的空格替换成s,可用如下语句:
select replace(str,' ','s') from test;
结果:
补零查询分为两类,一类是左补0,一类是右补0。左补0用lpad,右补零用rpad。
test表中数据如下:
现在要求将str字段左补0,将其长度保持在10位。可用以下语句:
select lpad(str,10,'0') from test;
结果:
现在要将str字段右补0,将其长度保持在10位。可用以下语句:
select rpad(str,10,'0') from test;
结果:
补0,用lpad,就可以。不过这个是补字符的,转换一下,然后补领就可以了,不过只能在显示的时候用,存储的时候似乎还是不行。
先不说你空值用0表示的问题
就是opdate=sysdate估计你也很难得到结果,sysdate表示系统当前时间,包含时分秒,你那个opdate怎么可能会和sysdate相等呢?
真的要是把空值用0表示的话,oracle中有nvl函数
select nvl(workbillid,0) from kf_workbill
意思就是把workbillid字段为空的显示成0,当然也可以显示成任何字符或者数字
友情提醒一下:
你那个opdate=sys笭法蒂盒郦谷垫贪叮楷date是不是该改成
to_char(opdate,'yyyymmdd')=to_char(sysdate,'yyyymmdd')