Функция 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
Другие вопросы по тегам