前两个字符后删除零

时间:2019-01-13 07:58:54

标签: sql oracle

我具有以下格式的值

150000005705
160000004559

我想删除前两位数字后的三个零点

我尝试了以下SQL语句:

SELECT 
    '150000005705',
    REPLACE('150000005705', SUBSTR('150000005705', 3, 3)) new_num
FROM DUAL

输出应该像

150005705
160004559

1 个答案:

答案 0 :(得分:1)

使用SUBSTR两次并连接字符串

SELECT '150000005705',
   CONCAT(SUBSTR ('150000005705', 1, 2), SUBSTR ('150000005705', 6)) new_num
FROM DUAL

一种替代方法是,如果总有6个零,则使用replace

SELECT '150000005705',
   REPLACE ('150000005705', '000000', '000') new_num
FROM DUAL