【发布时间】:2011-12-29 05:38:08
【问题描述】:
我在我的一张表中使用text 数据类型,并且我也在查询中使用PIVOT。
我无法使用MAX(AttributeValue),其中AttributeValue 是text 的类型。它返回以下错误Operand data type text is invalid for max operator.。我怎么能在这里使用它,因为我被强制使用aggregate 函数和PIVOT。
编辑: 我关注了帖子http://msdn.microsoft.com/en-us/library/ms187993.aspx
我尝试将数据类型转换为nvarchar(max)。
ALTER TABLE dbo.MyTable
ALTER COLUMN AttributeValue NVARCHAR(MAX)
我也必须使用Full Text Search 选项。我收到以下错误
Cannot alter or drop column 'AttributeValue' because it is enabled for Full-Text Search.
SELECT
[6B93119B-263B-4FED-AA89-198D26A3A3C4] DOB
,[F1A0D9D6-702E-4492-9EBC-63AD22E60E6A] CaseTitle
FROM MyTable PIVOT
( MAX(AttributeValue)
FOR AttributeID IN
(
[6B93119B-263B-4FED-AA89-198D26A3A3C4]
,[F1A0D9D6-702E-4492-9EBC-63AD22E60E6A]
)
) ResultTable
“AttributeValue”属于“文本”数据类型。我收到以下错误,
操作数数据类型文本对 max 运算符无效。
好吧,我尝试将该字段转换为 nvarchar(max)。它给出了另一种类型的错误(在第四行)。
Incorrect syntax near '('
我错过了什么吗?
【问题讨论】:
标签: sql-server-2008 aggregate-functions sqldatatypes