什么是SQL Server的价值

时间:2016-10-16 07:45:07

标签: sql sql-server

STUFF((SELECT distinct ',' + QUOTENAME(c.Error_Code) 
       FROM 
           (SELECT Connection_type, Error_Code, Count 
            FROM
                (SELECT 
                     Connection_Type, error_code, count(*) AS count,
                     row_number() over(partition by Connection_Type order by count(*) desc) as ROWNUM 
                 FROM
                     Staging 
                 WHERE
                     TransactionDate >= convert(varchar, getdate() -1, 111) 
                     AND Status != 'Deliver'
                 GROUP BY
                     Connection_Type, error_code) a 
            WHERE
                rownum <= 10) c
       FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')

该行

.value('.', 'NVARCHAR(MAX)'

意思?

1 个答案:

答案 0 :(得分:1)

value 方法将XML数据转换为NVARCHAR,因为 STUFF 函数(它从值列表中删除第一个逗号)期望字符表达式作为第一个参数。

您可以在此处尝试:SQL Fiddle

如果删除,则会出错。