【发布时间】:2013-01-22 16:46:38
【问题描述】:
我有一个 SQL Server 2000 数据库,其中的表如下所示:
ModifyTime datetime
CompanyID smallint
ProductID smallint
ComponentID int
Disposition varchar(10)
Note text
NoteType varchar(256)
此查询失败:
UPDATE NoteTable
SET Disposition = 'Modified'
WHERE Disposition = ''
AND CompanyID = 10
AND ProductID = 13
AND ComponentID = 1
AND NoteType = 'Customer'
错误是:
text、ntext 和 image 数据类型不能进行比较或排序,除非使用 IS NULL 或 LIKE 运算符。
有一个TEXT 列,但它根本不参与查询。这两个类似文本的字段都是VARCHAR。
我经常在NoteType 字段上执行JOINs 并按Disposition 排序,而不会出现此错误。
有什么线索吗?
【问题讨论】:
-
您确定列数据类型吗?如果您更改 NoteType LIKE 'Customer' 会发生什么?
-
桌子上有触发器吗?当您在 Query Analyzer / Management Studio 中运行此更新时,您能否发布整个错误消息,包括
Msg xxx, ...等部分?
标签: sql-server