Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Удаление и Обновление данных в столбце.  [new]
Caxa_ASS
Member

Откуда:
Сообщений: 20
Добрый день.

Задача:

есть таблица, необходимо во всех строках столбца "Telephone" удалить все символы и оставить только цифры, после чего, измененные данные сохранить/обновить в данном столбце ("Telephone").

Для удаления всех ненужных символов использую ниже приведенную функцию.

CREATE FUNCTION [dbo].[StripNonNumerics]  (@Temp varchar(255))
RETURNS varchar(255)
AS
Begin

    Declare @KeepValues as varchar(50)
    Set @KeepValues = '%[^0-9]%'
    While PatIndex(@KeepValues, @Temp) > 0
        Set @Temp = Stuff(@Temp, PatIndex(@KeepValues, @Temp), 1, '')

    Return @Temp
END


Она отлично справляется со своей задачей, это видно когда применяешь эту функцию и выводишь запрос.

SELECT Telephone, dbo.StripNonNumerics(Telephone) AS Telephone_Change FROM cust 


[img=]

Но как, применяя эту функцию, обновить/сохранить полученные данные в столбце Telephone, которые видны в альясе Telephone_Change? Возможно есть другие альтернативные решения. Буду благодарен за помощь в решении данного вопроса.

К сообщению приложен файл. Размер - 5Kb
16 июн 19, 04:03    [21909210]     Ответить | Цитировать Сообщить модератору
 Re: Удаление и Обновление данных в столбце.  [new]
PizzaPizza
Member

Откуда:
Сообщений: 280
Caxa_ASS,

если это одноразовое действие (а иначе надо исправлять данные перед вводом в базу), то проще пройтись по базе и выбрать все символы не [0-9] и сделать вложенный REPLACE при UPDATE
16 июн 19, 05:18    [21909219]     Ответить | Цитировать Сообщить модератору
 Re: Удаление и Обновление данных в столбце.  [new]
PizzaPizza
Member

Откуда:
Сообщений: 280
опять же чем не устраивает апдейт вашей же функцией?
set Telephone = dbo.StripNonNumerics(Telephone)
16 июн 19, 05:23    [21909220]     Ответить | Цитировать Сообщить модератору
 Re: Удаление и Обновление данных в столбце.  [new]
Caxa_ASS
Member

Откуда:
Сообщений: 20
PizzaPizza
опять же чем не устраивает апдейт вашей же функцией?
set Telephone = dbo.StripNonNumerics(Telephone)


Благодарю :) сработало, большое спасибо!!!
16 июн 19, 10:58    [21909254]     Ответить | Цитировать Сообщить модератору
 Re: Удаление и Обновление данных в столбце.  [new]
Caxa_ASS
Member

Откуда:
Сообщений: 20
PizzaPizza
Caxa_ASS,

если это одноразовое действие (а иначе надо исправлять данные перед вводом в базу), то проще пройтись по базе и выбрать все символы не [0-9] и сделать вложенный REPLACE при UPDATE


И за эту подсказку спасибо :)
16 июн 19, 11:00    [21909255]     Ответить | Цитировать Сообщить модератору
 Re: Удаление и Обновление данных в столбце.  [new]
iap
Member

Откуда: Москва
Сообщений: 46838
выборка чисел из строки
16 июн 19, 11:43    [21909263]     Ответить | Цитировать Сообщить модератору
 Re: Удаление и Обновление данных в столбце.  [new]
Caxa_ASS
Member

Откуда:
Сообщений: 20
iap
выборка чисел из строки

Спасибо :)
16 июн 19, 11:58    [21909266]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить