2017-02-06 80 views
2

我試圖替換可能由字母o而不是數字0組成的列中的任何電話號碼。有什麼辦法可以做到這一點嗎?在SQL Server中用整數替換字符串

比如:Phone列接受NVARCHAR並有數字的多個輸入這樣的:

1-800-9o6o 
(962)47l-9o8o 
(472)1o4-7o91 

由多個我的意思是80+

+0

請出示所需的值 – McNets

+0

我刪除了不兼容的數據庫標籤。 –

+0

爲什麼你需要nvarchar的電話號碼?在任何需要擴展字符集的手機中,都只有零個字符。 –

回答

0

您可以使用替換功能:

replace(phone_number, 'o', '0') 

如果您選擇,然後使用:

select replace(phone_number, 'o', '0') from t; 

如果需要更新表:

update t 
set phone_number = replace(phone_number, 'o', '0') 
where phone_number like '%o%'; 
0

只需使用replace()

update t 
    set phone = replace(phone, 'o', '0') 
    where phone like '%o%'; 

鑑於你的例子,你可能還需要小寫的 「L」 更改爲1:

update t 
    set phone = replace(replace(phone, 'o', '0'), 'l', '1') 
    where phone like '%[ol]%';