powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помощь новичку (песочница)
6 сообщений из 6, страница 1 из 1
Помощь новичку (песочница)
    #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
Помощь новичку (песочница)
    #39970949
0wl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0wl
Гость
kiggo,

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

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

Благодарю за Ваш ответ.
...
Рейтинг: 0 / 0
Помощь новичку (песочница)
    #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
Помощь новичку (песочница)
    #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
Помощь новичку (песочница)
    #39970974
kiggo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое. Буду пробовать на тестовой БД.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помощь новичку (песочница)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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