Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помощь новичку (песочница) / 6 сообщений из 6, страница 1 из 1
19.06.2020, 15:18
    #39970940
kiggo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь новичку (песочница)
На WEB сервер была загружена БД с 1С.
В таблице product в поле model название модели содержит лишние 3 знака:
Prolin-4-01 (правильно Prolin-4)
Pars-50-01 (правильно Pars-50)
Lyna-02-01 (правильно Lyna-02)
Каким запросом можно убрать "-01" ?

Заранее благодарю.
P.S. В данном вопросе совсем не понимаю. Прошу не пинать и понять.
...
Рейтинг: 0 / 0
19.06.2020, 15:26
    #39970949
0wl
0wl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь новичку (песочница)
kiggo,

Что-то не похоже на названия из "базы 1С"

Читайте про Update и Left
...
Рейтинг: 0 / 0
19.06.2020, 15:33
    #39970956
kiggo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь новичку (песочница)
БД конечно CMS. Просто в 1С в своё время забивали модель с дополнительным (добавочным) кодом "-01".
Вот теперь почистить руками 9000 наименований достаточно трудоёмкий процесс.

Благодарю за Ваш ответ.
...
Рейтинг: 0 / 0
19.06.2020, 15:41
    #39970961
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь новичку (песочница)
Проверить, что будет до и после замены
Код: sql
1.
select model as model_before, left(model, length(model) - 3) as model_after from product where right(model, 3) = '-01'



если все как надо, то обновить поле

Код: sql
1.
update product set model = left(model, length(model) - 3) where right(model, 3) = '-01'



!!!! Если у вас где-то есть записи вида Prolin-01-01, то после второго запуска update скрипта останется только Prolin
...
Рейтинг: 0 / 0
19.06.2020, 15:45
    #39970964
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь новичку (песочница)
как-то так можно попробовать
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
USE tempdb
GO

WITH CTE(PRODUCT)AS
(
  SELECT 'Prolin-4-01'
   UNION ALL
  SELECT 'Pars-50-01'
   UNION ALL
  SELECT 'Lyna-02-01 '
)
SELECT C.PRODUCT,TRIM(REPLACE(C.PRODUCT,'-01',''))AS REPL
FROM CTE AS C
...
Рейтинг: 0 / 0
19.06.2020, 15:59
    #39970974
kiggo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь новичку (песочница)
Спасибо большое. Буду пробовать на тестовой БД.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помощь новичку (песочница) / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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