Функция SQL Server, которая будет возвращать текст в формате HTML
У меня есть CSV-файл, который содержит резюме в виде простого текста. Мне нужно преобразовать текстовое поле из текста в HTML-код.
Например:
Простой текст:
Head
Line2
Line3
Line4
Старинная:
<p>Head</p>
<p>Line2<br />
Line3<br />
Line4</p>
Может ли функция SQL Server сделать это? Я уже видел онлайн-инструмент http://www.textfixer.com/html/convert-text-html.php который может выполнять аналогичную функцию, но мне нужно преобразовать как минимум 1300 строк резюме, которые находятся внутри файла CSV.
Заранее спасибо!
1 ответ
Я предполагаю, что вы можете поместить CSV во временную таблицу или даже просто написать это в CSV, используя открытый набор строк или что-то в этом роде, но здесь есть идея, как получить нужную кодировку. Если существует более одного резюме, замените PARTITON BY 1
с PARTITION BY UniqueResumeId
;WITH cteOriginalRowNumber AS (
SELECT
Line
,ROW_NUMBER() OVER (PARTITION BY 1 ORDER BY (SELECT 0)) as OriginalRowNum
FROM
CSVSource
)
, cteReverseRowNumber AS (
SELECT
Line
,OriginalRowNum
,ROW_NUMBER() OVER (PARTITION BY 1 ORDER BY OriginalRowNum DESC) as ReverseRowNum
FROM
cteOriginalRowNumber
)
SELECT
CASE
WHEN
OriginalRowNum = 1
OR (OriginalRowNum = 2 AND ReverseRowNum = 1)
THEN '<p>' + Line + '</p>'
WHEN OriginalRowNum = 2 THEN '<p>' + Line + '<br />'
WHEN OriginalRowNum > 2 AND ReverseRowNum = 1 THEN Line + '</p>'
ELSE Line + '<br />'
END
FROM
cteReverseRowNumber
ORDER BY
OriginalRowNum