Escape characters SQL Server 2008 R2 [%]



我正在尝试透视一个结果集,我比较的行中的一个值是COutputData_2_Magnesium Stearate[%]。SQL似乎不喜欢[%]符号,我无论如何都不必更改名称在结果集中的显示方式。有没有一种方法可以让我在旋转时逃离[%]。谢谢

您应该使用QUOTENAME函数为可能的非标准标识符获取正确的转义。

SELECT QUOTENAME('COutputData_2_Magnesium Stearate [%]')

返回

[COutputData_2_Magnesium Stearate [%]]]

那就用它吧。

示例

WITH T(Id, Val)
     AS (SELECT 1, 'COutputData_2_Magnesium Stearate [%]')
SELECT *
FROM   T PIVOT ( AVG(Id) FOR Val IN ([COutputData_2_Magnesium Stearate [%]]]) ) AS P;

最新更新