Изменение данных в столбце 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)
А лучше создай дополнительный столбец и в него запиши номер. При необходимости исходный столбец можно будет удалить..