в SQL Server, как получить значения столбца с `<br>` отдельно - PullRequest
3 голосов
/ 09 марта 2011

На сервере SQL, как я могу получить значения столбцов с <br>, разделяющими их?

Здесь я получаю с разделителями-запятыми, но как я могу получить <br/> в HTML на сервере SQL?

SELECT
  STUFF(
    (
    SELECT
      ',' + cast(Citation_Id as nvarchar(500))
    FROM tollplus.violated_trips
    FOR XML PATH('')
    ), 1, 1, ''
  ) As CitationId

Ответы [ 2 ]

1 голос
/ 09 марта 2011

попробуйте это:

SELECT
    STUFF(
             (SELECT
                  '<br/>' + cast(Citation_Id as nvarchar(500))
                  FROM tollplus.violated_trips
                  FOR XML PATH(''), TYPE
             ).value('.','varchar(max)')
             ,1,5, ''
         ) AS Citation_Id
1 голос
/ 09 марта 2011

Чтобы <br /> не отображалось как &lt;br /&gt;

SELECT  (     
        SELECT CASE
                 WHEN ROW_NUMBER() OVER (ORDER BY (SELECT 0)) = 1 THEN ''
                 ELSE '<br />'
               END + cast(Citation_Id as nvarchar(500))
        FROM   tollplus.violated_trips
        FOR XML PATH(''), TYPE  
        ).value('.','nvarchar(max)')  As CitationId 

Хотя на самом деле, если CitationId само по себе не содержит проблемных символов, следующее может быть более эффективным, если предполагаемые затраты в плане выполнения могутверить.

SELECT
  REPLACE(
    (
        SELECT CASE
                 WHEN ROW_NUMBER() OVER (ORDER BY (SELECT 0)) = 1 THEN ''
                 ELSE ','
               END + CAST(Citation_Id AS NVARCHAR(500))
        FROM   violated_trips
        FOR XML PATH('')  
    ), ',', '<br />'
  ) AS CitationId

Execution Plan

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...