十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
个人知道的可以用lpad来补0(左边,如果是右侧补0,那么是rpad函数),如果想要保存的时候就有0,那么保存的时候需要是字符型的,不能是数字的,因为oracle默认数字前面是没有0的,小数除外。
10年积累的网站设计制作、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有商城免费网站建设让你可以放心的选择与我们合作。
oracle中有lpad,rpad函数。
lpad函数从左边对字符串使用指定的字符进行填充。从其字面意思也可以理解,l是left的简写,pad是填充的意思,所以lpad就是从左边填充的意思
语法格式如下:
lpad( string, padded_length, [ pad_string ] )
----------------------
select 'YB'||lpad('字段',6,'0') from dual
补空查询和补零查询是两个不同概念。
补空查询是将空格替换成特定字符,可用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;