2017-02-06 3 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%'; 

Учитывая ваши примеры, вы также можете изменить строчную «л» 1:

update t 
    set phone = replace(replace(phone, 'o', '0'), 'l', '1') 
    where phone like '%[ol]%'; 
Смежные вопросы