powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / TSQL Изменить код телефона с 499 на 495 , можно использовать Case
17 сообщений из 17, страница 1 из 1
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123680
savbbgdggdgdg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT * FROM Запрос2
Update Запрос2 Set Контактный_телефон =
CASE
WHEN substring(Контактный_телефон, 2, 3) = '499' then '495'
END
WHERE substring(Контактный_телефон, 2, 3) = '499'


Есть вот такой запрос , но он меняет не только код телефона , а весь номер
например у меня было 84995671234 а стало просто 495
как починить???
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123685
fkfka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
update blablabla
set Phone = N'(495' + substring(phone, 5, 100500)
where Phone like N'(499)%'
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123687
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka
Код: sql
1.
2.
3.
update blablabla
set Phone = N'(495' + substring(phone, 5, 100500)
where Phone like N'(499)%'



) ?
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123688
savbbgdggdgdg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин, а если телефон будет содержать +7499 и так далее
надо подправить так , чтобы он менял и просто если 8499.... и +7499 ...
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123689
savbbgdggdgdg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fkfka,

а если телефон будет содержать +7499 и так далее
надо подправить так , чтобы он менял и просто если 8499.... и +7499 ...
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123693
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
savbbgdggdgdg
Ролг Хупин, а если телефон будет содержать +7499 и так далее
надо подправить так , чтобы он менял и просто если 8499.... и +7499 ...


Ну, вот, понимаете, что чудес не бывает?
Для начала перечислите варианты, что может быть в исходных данных?
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123694
savbbgdggdgdg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин,

+74957830707
+74957779999
84956464646
вот примерно так
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123696
fkfka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
savbbgdggdgdg
fkfka,

а если телефон будет содержать +7499 и так далее
надо подправить так , чтобы он менял и просто если 8499.... и +7499 ...

я же в душе не знаю, что у автора за формат. по тому, что он в своем запросе берет код начиная со второго символа я попробовал угадать, что формат у него "(хххх)хххххх"
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123697
fkfka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
savbbgdggdgdg,

Это из-за твоего творчества у меня в ЛК на сайте "Леруа" оказался вдруг неправильный телефон и я из-за этого в выходные интернет-заказ от них не смог получить?
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123698
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
savbbgdggdgdg
Ролг Хупин,

+74957830707
+74957779999
84956464646
вот примерно так

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT 
  CASE
    WHEN [phone] LIKE '8495%' THEN STUFF( [phone], 2, 3, '499' )
    WHEN [phone] LIKE '+7495%' THEN STUFF( [phone], 3, 3, '499' )
    ELSE [phone]
  END
FROM
  ( VALUES 
    ( '+74957830707' ),
    ( '74957779999' ),
    ( '84956464646' )
  ) t( [phone] )
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123704
fkfka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
savbbgdggdgdg
Ролг Хупин,

+74957830707
+74957779999
84956464646
вот примерно так

Я бы тогда начал с того, что привел бы их к одному формату. Иначе бардака не оберешься. По хорошему это надо делать еще до попадания данных в БД, т.е. на этапе ввода.
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123706
savbbgdggdgdg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Руслан Дамирович,

Спасибо!!!!
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40123736
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руслан Дамирович
savbbgdggdgdg
Ролг Хупин,

+74957830707
+74957779999
84956464646
вот примерно так

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT 
  CASE
    WHEN [phone] LIKE '8495%' THEN STUFF( [phone], 2, 3, '499' )
    WHEN [phone] LIKE '+7495%' THEN STUFF( [phone], 3, 3, '499' )
    ELSE [phone]
  END
FROM
  ( VALUES 
    ( '+74957830707' ),
    ( '74957779999' ),
    ( '84956464646' )
  ) t( [phone] )



patindex
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40125836
cad2206
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а обрезать сначала номер с другой стороны, оставив последние 7 цифр и уже потом добавить нужный формат слева?
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40125854
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cad2206
а обрезать сначала номер с другой стороны, оставив последние 7 цифр и уже потом добавить нужный формат слева?
А если в ближайшее время цифр будет больше семи?
Кстати, такие номера можно наблюдать и сейчас, если номер заканчивается, например, местным локальным номером.
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40125902
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap,

да, могут быть добавочные цифры для внутренней АТС.
...
Рейтинг: 0 / 0
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
    #40125907
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
savbbgdggdgdg
SELECT * FROM Запрос2
Update Запрос2 Set Контактный_телефон =
CASE
WHEN substring(Контактный_телефон, 2, 3) = '499' then '495'
END
WHERE substring(Контактный_телефон, 2, 3) = '499'


Есть вот такой запрос , но он меняет не только код телефона , а весь номер
например у меня было 84995671234 а стало просто 495
как починить???
Так вы меняете весь номер на '499' или '495'
Посмотрите внимательно свой запрос ещё раз. Вам же нужно 3 найденных цифры заменить, а не весь номер.

Как конкретно менять, зависит от формата.
cad2206
а обрезать сначала номер с другой стороны, оставив последние 7 цифр и уже потом добавить нужный формат слева?
Так точно нельзя, правая часть может отличаться.

А вот у левой части вариантов немного, если это российские номера (а у каких ещё понадобится менять '499' на '495'?)
Нужно игнорировать +, если он есть, и проверять в оставшейся строке наличие 499, начиная либо со второго, либо с первого символа.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / TSQL Изменить код телефона с 499 на 495 , можно использовать Case
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]