Изменение данных в столбце ms sql

у меня есть таблица city. В ней есть столбцы name , id , address_number. Как сделать так, чтобы в столбце address_number остались только номера телефонов и удалить все адреса?

name id address_number
hamburg 03000 aachenerStr 128, num. +49(xxx)xxxxxxxxx

Ответы (1 шт):

Автор решения: Виталий Злобин

Если формат фиксированный, т.е. в твоём случае номер занимает 17 символов с конца, то можно так:

UPDATE city
SET address_number = RIGHT(address_number, 17)

Но для начала проверь, как получается:

SELECT RIGHT(address_number, 17)
FROM city

Если формат не фиксированный, то можно попробовать найти индекс символа "+"(если все номера начинаются с плюса) и выбрать подстроку функцией SUBSTRING с индекса символа "+" до конца строки. Для определения индекса используй функцию CHARINDEX:

SELECT CHARINDEX('+', address_number)

А лучше создай дополнительный столбец и в него запиши номер. При необходимости исходный столбец можно будет удалить..

→ Ссылка