如何删除/更改列sql server中的某些字符

时间:2013-08-01 10:31:42

标签: sql sql-server

我在存储过程中使用了以下select语句:

SELECT DISTINCT Name, BugID, Summary, Description, reportedDate, versionID, versionName, BugResolution, IssueStatusId, BugStatus, BugType, BugPriority, ComponentName, ReportedBy, 
STUFF(( SELECT ',' + Comment 
                  FROM lbbugnet.dbo.report_view I Where I.bugID= O.bugID
                FOR
                  XML PATH('')
                ), 1, 1, '') as Comment, 
    Code, IssueResolutionId FROM lbbugnet.dbo.report_view O
    WHERE BugID BETWEEN @fromID AND @toID
    ORDER BY BugID ASC

这将选择所需的列,并将注释填充到同一列而不是单独的记录中。因为该值被转换为XML文本

  

<p></p>

已更改为

  

&lt;p&gt;&lt;/p&gt;,

有什么方法可以防止这种情况发生,或者在选择后将其更改回来?

1 个答案:

答案 0 :(得分:1)

SELECT DISTINCT
    Name, 
    BugID, 
    Summary, 
    Description, 
    reportedDate, 
    versionID, 
    versionName, 
    BugResolution, 
    IssueStatusId, 
    BugStatus, 
    BugType, 
    BugPriority, 
    ComponentName, 
    ReportedBy,
    Comment.value('.', 'varchar(max)') Comments,
    Code, 
    IssueResolutionId       
FROM   
    (SELECT 
        Name, BugID, Summary, Description, reportedDate, versionID, versionName, BugResolution, IssueStatusId, BugStatus, BugType, BugPriority, ComponentName, ReportedBy,
        CAST(STUFF(( SELECT ',' + Comment 
                      FROM lbbugnet.dbo.report_view I Where I.bugID= O.bugID
                    FOR
                      XML PATH('')
                    ), 1, 1, '') as xml) as Comment,
        Code, IssueResolutionId         
    FROM 
      lbbugnet.dbo.report_view O
    WHERE 
      BugID BETWEEN @fromID AND @toID) A
ORDER BY 
    BugID ASC
相关问题