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


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



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

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


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

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

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

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

Это из-за твоего творчества у меня в ЛК на сайте "Леруа" оказался вдруг неправильный телефон и я из-за этого в выходные интернет-заказ от них не смог получить?
...
Рейтинг: 0 / 0
28.12.2021, 19:41
    #40123698
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
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
28.12.2021, 19:49
    #40123704
fkfka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
savbbgdggdgdg
Ролг Хупин,

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

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

Спасибо!!!!
...
Рейтинг: 0 / 0
28.12.2021, 22:12
    #40123736
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
Руслан Дамирович
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
11.01.2022, 17:18
    #40125836
cad2206
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
а обрезать сначала номер с другой стороны, оставив последние 7 цифр и уже потом добавить нужный формат слева?
...
Рейтинг: 0 / 0
11.01.2022, 18:02
    #40125854
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
cad2206
а обрезать сначала номер с другой стороны, оставив последние 7 цифр и уже потом добавить нужный формат слева?
А если в ближайшее время цифр будет больше семи?
Кстати, такие номера можно наблюдать и сейчас, если номер заканчивается, например, местным локальным номером.
...
Рейтинг: 0 / 0
11.01.2022, 21:11
    #40125902
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
iap,

да, могут быть добавочные цифры для внутренней АТС.
...
Рейтинг: 0 / 0
11.01.2022, 21:55
    #40125907
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TSQL Изменить код телефона с 499 на 495 , можно использовать Case
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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / TSQL Изменить код телефона с 499 на 495 , можно использовать Case / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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