powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Аналог REGEXP_replace или в строку вставить символ через .....
6 сообщений из 6, страница 1 из 1
Аналог REGEXP_replace или в строку вставить символ через .....
    #40022422
swd1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

А есть аналог ораколовского REGEXP_replace с регулярными выражениями?

На MSSQL нужно в строке вставить через каждые 5 символов символ '\'

Было:
aaaaabbbbbccccc

Стало:
aaaaa\bbbbb\ccccc

Без CTE реально? Копать в сторону for xml path ('') ?
...
Рейтинг: 0 / 0
Аналог REGEXP_replace или в строку вставить символ через .....
    #40022475
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swd1986,

Поиском пользоваться пробовали?
...
Рейтинг: 0 / 0
Аналог REGEXP_replace или в строку вставить символ через .....
    #40022483
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так как-то можно
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
declare @s varchar(max) = 'aaaaabbbbbcccccdddddddd'

select
	t.s
	,STRING_AGG(a.xz,'\') WITHIN GROUP (ORDER BY a.number) as x
from (select @s as s) t
cross apply (select SUBSTRING(t.s, v.number*5+1, 5) as xz, v.number from master..spt_values v where [type] = 'P' and v.number <= CEILING(len(t.s)/5.0)-1) a
group by t.s


sxaaaaabbbbbcccccddddddddaaaaa\bbbbb\ccccc\ddddd\ddd
...
Рейтинг: 0 / 0
Аналог REGEXP_replace или в строку вставить символ через .....
    #40022778
swd1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court,

Спасибо огромное!

А как быть если строка больше чем 2048? Причем поле AS [text()]
...
Рейтинг: 0 / 0
Аналог REGEXP_replace или в строку вставить символ через .....
    #40022779
swd1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,

Спасибо!
...
Рейтинг: 0 / 0
Аналог REGEXP_replace или в строку вставить символ через .....
    #40022783
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swd1986
court,

Спасибо огромное!

А как быть если строка больше чем 2048? Причем поле AS [text()]

spt_values - хватит для 2048 * 5 длины строки

А в принципе, универсальный выход, это функция [dbo].[GetNums] по ссылке env
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Аналог REGEXP_replace или в строку вставить символ через .....
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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