powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как запросом заменить подстроку в строке ?
9 сообщений из 9, страница 1 из 1
как запросом заменить подстроку в строке ?
    #32040101
не важно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
то есть есть поле с значением 'курская обл село Мелихово' на 'курская область село Мелихово' ?
...
Рейтинг: 0 / 0
как запросом заменить подстроку в строке ?
    #32040102
Фотография cvasil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
REPLACE ('курская обл село Мелихово' , 'обл', 'область')
...
Рейтинг: 0 / 0
как запросом заменить подстроку в строке ?
    #32040104
не важно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как через update ?
...
Рейтинг: 0 / 0
как запросом заменить подстроку в строке ?
    #32040106
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
 UPDATE t
SET t.str=REPLACE (t.str, 'обл', 'область')
FROM tbl t
WHERE t.str LIKE '%обл%'
...
Рейтинг: 0 / 0
как запросом заменить подстроку в строке ?
    #32040107
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю так будет правильнее...
Код: plaintext
1.
2.
3.
UPDATE t
SET t.str=REPLACE (t.str, 'обл', 'область')
FROM tbl t
WHERE t.str LIKE '%обл[. ]%'

в скобочках точка и пробел.....
...
Рейтинг: 0 / 0
как запросом заменить подстроку в строке ?
    #32040109
не важно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выдаёт такую ошибку
Argument data type text is invalid for argument 1 of replace function
даже если просто так делать
update example set example.str=replace(example.str,'красный','синий');
...
Рейтинг: 0 / 0
как запросом заменить подстроку в строке ?
    #32040111
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда засада. REPLACE и LIKE не работают с типом text.

Нужно сделать запрос

Код: plaintext
select max(len(str)) from example

Если результат меньше 8000, то делать так:

Код: plaintext
1.
2.
3.
UPDATE t
SET t.str=REPLACE (cast(t.str as varchar( 8000 )), 'обл', 'область')
FROM tbl t
WHERE cast(t.str as varchar( 8000 )) LIKE '%обл%'
...
Рейтинг: 0 / 0
как запросом заменить подстроку в строке ?
    #32040112
не важно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо
...
Рейтинг: 0 / 0
как запросом заменить подстроку в строке ?
    #32040113
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня работает...
Код: plaintext
1.
2.
3.
4.
declare @tbl table (str varchar( 50 ))
insert @tbl values ('красный')
select * from @tbl
update  t set t.str=replace(t.str,'красный','синий') from @tbl t
select * from @tbl
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как запросом заменить подстроку в строке ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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