尝试运行以下查询以提取数字列的第一个实例时:
SELECT number, comment
FROM workitem
WHERE (NOT (status_lookup_id IN (400, 600)))
AND (modified_on < DATEADD(dd, - 5, GETDATE()))
AND (due_on < GETDATE())
GROUP BY number, comment
我收到以下错误:
text,ntext和image数据类型无法进行比较或排序,除非使用IS NULL或LIKE运算符。
我理解为什么会抛出错误,我想,但我需要来自评论专栏的信息。有没有其他方法来获取这些数据?
答案 0 :(得分:2)
你可以施放&amp;然后使用如下:
SELECT cast(number as varchar(max)), cast(comment as varchar(max))
FROM workitem
WHERE (NOT (status_lookup_id IN (400, 600))) AND (modified_on <
DATEADD(dd, - 5, GETDATE())) AND (due_on < GETDATE())
GROUP BY cast(number as varchar(max)), cast(comment as varchar(max))
它会截断评论&amp;数字,如果它超过允许char
答案 1 :(得分:1)
这不是因为Group By,而是您尝试分组的列的数据类型。
SELECT number, comment
FROM workitem
WHERE (NOT (status_lookup_id IN (400, 600)))
AND (modified_on < DATEADD(dd,-5, GETDATE())) AND (due_on < GETDATE())
GROUP BY cast(number as varchar(max)), cast(comment as varchar(max))
答案 2 :(得分:0)
经过一些谷歌搜索,似乎你的数据类型错了?你没有发布它们,所以我只是假设。
尝试使用此修复程序 - &gt; The text, ntext, and image data > types cannot be compared or sorted, except when using IS NULL or LIKE > operator