十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
序列本身没办法直接归零,只能是删掉然后重建。删除序列要用到drop语句和建立的create语句都是ddl语句,在存储过程中是没办法应用的。个人建议写成一个sql脚本,然后在操作系统层面设定为每隔一年运行一次。
成都网站制作、成都网站建设、外贸营销网站建设服务团队是一支充满着热情的团队,执着、敏锐、追求更好,是创新互联的标准与要求,同时竭诚为客户提供服务是我们的理念。创新互联把每个网站当做一个产品来开发,精雕细琢,追求一名工匠心中的细致,我们更用心!
先不说你空值用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')
补空查询和补零查询是两个不同概念。
补空查询是将空格替换成特定字符,可用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;
结果:
select nvl(sname,'0') sname from table;
或者
select decode(sname,null,'0',sname) from table;