【发布时间】:2014-10-29 11:26:56
【问题描述】:
我在 SQL 查询中使用DISTINCT,同时使用以下查询从 SQL Server 表中获取记录。
SELECT DISTINCT firstname, lastname, profileImage
from employee
其中 profileImage 在我的表中属于 image 数据类型。
问题:
当我尝试在查询中使用 DISTINCT 从表中获取数据时,会出现以下错误。
Msg 421, Level 16, State 1, Line 1 图像数据类型不能是 选择为 DISTINCT,因为它不可比较。
当我从查询中删除 DISTINCT 关键字时,它可以正常工作。
为什么会这样?
【问题讨论】:
-
自该产品的2005版本发布近10年以来,documentation已应用以下通知:“ntext, text, and image data类型将在 Microsoft SQL Server 的未来版本中删除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序"
-
@Chris - 我理解错误消息,但我正在寻找另一种方法来实现这一点。因为我试图将
profileImage字段转换为varchar但它也失败了:( -
转换为
VARBINARY -
@Prog - 当
image用于存储二进制 数据并且varbinary类型存在时,您为什么要尝试转换为varchar? -
@Prog:啊,好的。那还不清楚。您问题中的实际问题是“为什么会发生这种情况?”从消息中可以清楚地看出这一点。你真正想要的对我来说更像是一种后续奖励。
标签: c# sql sql-server sql-server-2008