我試圖替換可能由字母o而不是數字0組成的列中的任何電話號碼。有什麼辦法可以做到這一點嗎?在SQL Server中用整數替換字符串
比如:Phone
列接受NVARCHAR
並有數字的多個輸入這樣的:
1-800-9o6o
(962)47l-9o8o
(472)1o4-7o91
由多個我的意思是80+
我試圖替換可能由字母o而不是數字0組成的列中的任何電話號碼。有什麼辦法可以做到這一點嗎?在SQL Server中用整數替換字符串
比如:Phone
列接受NVARCHAR
並有數字的多個輸入這樣的:
1-800-9o6o
(962)47l-9o8o
(472)1o4-7o91
由多個我的意思是80+
您可以使用替換功能:
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%';
只需使用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]%';
用一個簡單的替換語句。 https://msdn.microsoft.com/en-us/library/ms186862.aspx
Replace(YourColumn, 'o', '0')
請出示所需的值 – McNets
我刪除了不兼容的數據庫標籤。 –
爲什麼你需要nvarchar的電話號碼?在任何需要擴展字符集的手機中,都只有零個字符。 –