我有一个18字符串字段,需要删除第1个5个字符,然后在第11个和第15个段之后添加破折号。有没有一种方法可以做到这一点更新?
000003061114150000
到
306111-4150-000
谢谢!
答案 0 :(得分:0)
简单的SUBSTR
串联即可完成工作:
SQL> with test (col) as
2 (select '000003061114150000' from dual)
3 select
4 substr(col, 6, 6) ||'-'||
5 substr(col, 12, 4) ||'-'||
6 substr(col, 16) result
7 from test;
RESULT
---------------
306111-4150-000
SQL>
答案 1 :(得分:0)
请参考一行选择语句
SELECT
SUBSTR(
LTRIM('000003061114150000', 10),
1,
6
)|| '-' || SUBSTR(
LTRIM('000003061114150000', 10),
7,
4
)|| '-' || SUBSTR(
LTRIM('000003061114150000', 10),
11
)
FROM
dual;
结果
306111-4150-000