2017-09-02 60 views
0

我的表中包含列名accountnumber;如何用oracle中的特殊字符替换数字中的位置?

acctnum 
------- 
1234556777 
2335678000 

我使用Oracle想要的输出使用SQL查询

acctnum 
    --------- 
    123xxx6777 
    233xxx8000 

我试图替换功能,但我没有得到output.pls帮助。

+0

你要替换的前3个字符? –

+0

是的。我想用特殊字符替换前3个位置。请帮助我找到如何用特殊字符替换位置。 – minu

回答

0

如果我不明白错误,这可能对您有帮助吗?

with a as 
(select '1234567' as acctnum from dual) 

select '###' || substr(acctnum,4) from a; 
+0

这是完美。如果我想用特殊字符替换第4,第5,第6位,我将如何使用 – minu

+0

请帮助我们将其用于我们的项目 – minu

+0

在Substr(1234567,4)声明中,'4'表示开始子字符串的第四字符。将其更改为5,6或你想要的。 –

0

如果你想更换一个x字符4,5和6,你可以通过这样的SUBSTR功能做到这一点:

SELECT SUBSTR(acctnum, 1, 3) || 'xxx' || SUBSTR(acctnum, 7) AS acctnum 
FROM mytable;