扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
如果字符串只有开头有零,而字符串中间没有0,那么可以使用replace(字符串,'0','')
郯城ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
如果0开头最长的位数不长,那么可以逐个判断。
比如我可能知道这里面最长的就是连续5个0开头的,这样我就判断如果遇到5个0开头的就截掉前五位,4个0开头截掉前四位,3个0开头截掉前三位,一直到1,逐个判断使用case when可以完成.但是如果最长的0开头个数不确定,就比较麻烦了。
给你做个试验你就知道了
create table test
(id varchar2(6));
insert into test values ('120000');
insert into test values ('120010');
insert into test values ('120200');
insert into test values ('123000');
insert into test values ('123001');
commit;执行第一遍:
update test set id=substr(id,1,5) where id like '%0';
commit;此时结果:
执行第二遍:
update test set id=substr(id,1,4) where id like '%0';
commit;
后边就不举例了,也就是语句执行4遍,需要修改里边的参数。
我写一份,你试试,看看能不能通过一个SQL就能完成
select t.employee_id employee_id,
t.department_id department_id,
min(t.start_date) date,
min(t.start_date) start_date,
max(t.end_date) end_date,
(select t2.position
from table_name t2
where t2.employee_id = employee_id
and t2.department_id=department_id
and t2.end_date =end_date ) position
from table_name t
group by employee_id,
department_id,
position
操作:
1、先在Excel中将这一列值加前缀,将 user_code的值变成字符型,如原来的001,002变成N001,N002,
2、将变后的Excel表导入到Oracle中,
3、用Uperdate 语句修改user_code列,去掉前缀字母“N”。
select id
from (select id,decode(id,0,0,1) as flag from table_name) t
order by flag desc,id
;
这样id=0的部分就会排在最下面
1、Oracle计算分母为0,我默认作为结果为0.所以用decode处理。
x=0,y=0;
select decode(y, 0, 0, x/y) from dual;
如果y=0,那么返回0
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流