Я знаком и имею доступ к SQL Server Mgmt studio и Alteryx, но у меня не было необходимости использовать циклы. Поэтому я думаю, что мне, возможно, придется использовать его для строкового шаблона, который я собираюсь объединить в новый столбец. Может ли кто-нибудь помочь или предложить, если использование цикла имеет смысл и как лучше начать.
Ссылка ниже содержит пример данных, которые я ищу, чтобы проанализировать поле «исходный текст» и сделать его похожим на поле «новый текст», которое я сделал вручную и пытаюсь автоматизировать. Я думаю, что будет больше шаблонов, когда я пройдусь дальше, но решил, что начало лучше, чем ничего.
Поле данных с исходным текстом и новым текстом, которое я хочу создать после синтаксического анализа
Ниже приведен psuedocode, который я сделал до сих пор в том, что, как я думаю, может сработать ..
Пока конец файла
СЛУЧАЙ, КОГДА ОРИГИНАЛЬНЫЙ ТЕКСТ НАЧИНАЕТСЯ С ЛЮБОГО СЛЕДУЮЩЕГОРИСУНКИ НАЧИНАЮТ СОКРАЩАТЬСЯ И ЗАКОНЧАТЬСЯ ЛЮБОЙ ИЗ 5 РИСУНКОВ, НАЧАТЬ СНОВА И СОЗДАТЬ НОВУЮ ТЕКСТОВУЮ ЗАПИСЬ
(ШАБЛОН 1: | ### |
ШАБЛОН 2: ##:
ШАБЛОН 3: ## A:
ШАБЛОН 4 # /
ШАБЛОН 5 (#:
КОНЕЦ КАК НОВОЕ ПОЛЕ ТЕКСТА Обновление 10-21 - Я получил код нижеработа по поиску по двоеточию в качестве первого шага ..
if object_id('tempdb..#LETTERS') is not null
drop table #LETTERS
SELECT *
INTO #LETTERS
FROM [dbo].[tbl_TEXT_LETTERS]
declare @LINE_counter int
declare @max_LINE_counter int
set @LINE_counter = 0
select @max_LINE_counter = max(LINE) from #LETTERS
while @LINE_counter <= @max_LINE_counter
--
begin
declare @NEW_TEXT varchar(200)
select @NEW_TEXT =
case when LETTERS.[TEXT] LIKE '%:%'
THEN LETTERS.[TEXT]
ELSE 'NOTHING'
END
FROM #LETTERS LETTERS
where line = @LINE_counter
--print @line_counter
print @NEW_TEXT
set @LINE_counter= @LINE_counter + 1
end