Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как запросом заменить подстроку в строке ? / 9 сообщений из 9, страница 1 из 1
31.07.2002, 20:11:14
    #32040101
не важно
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запросом заменить подстроку в строке ?
то есть есть поле с значением 'курская обл село Мелихово' на 'курская область село Мелихово' ?
...
Рейтинг: 0 / 0
31.07.2002, 20:20:08
    #32040102
cvasil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запросом заменить подстроку в строке ?
REPLACE ('курская обл село Мелихово' , 'обл', 'область')
...
Рейтинг: 0 / 0
31.07.2002, 20:24:32
    #32040104
не важно
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запросом заменить подстроку в строке ?
а как через update ?
...
Рейтинг: 0 / 0
31.07.2002, 20:31:53
    #32040106
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запросом заменить подстроку в строке ?
Код: plaintext
1.
2.
3.
 UPDATE t
SET t.str=REPLACE (t.str, 'обл', 'область')
FROM tbl t
WHERE t.str LIKE '%обл%'
...
Рейтинг: 0 / 0
31.07.2002, 20:36:46
    #32040107
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запросом заменить подстроку в строке ?
думаю так будет правильнее...
Код: plaintext
1.
2.
3.
UPDATE t
SET t.str=REPLACE (t.str, 'обл', 'область')
FROM tbl t
WHERE t.str LIKE '%обл[. ]%'

в скобочках точка и пробел.....
...
Рейтинг: 0 / 0
31.07.2002, 20:43:50
    #32040109
не важно
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запросом заменить подстроку в строке ?
выдаёт такую ошибку
Argument data type text is invalid for argument 1 of replace function
даже если просто так делать
update example set example.str=replace(example.str,'красный','синий');
...
Рейтинг: 0 / 0
31.07.2002, 20:52:42
    #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
31.07.2002, 20:59:11
    #32040112
не важно
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запросом заменить подстроку в строке ?
спасибо
...
Рейтинг: 0 / 0
31.07.2002, 21:01:05
    #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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как запросом заменить подстроку в строке ? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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