我在使用以下查询从SQL Server表中获取记录时在SQL查询中使用DISTINCT
。
SELECT DISTINCT firstname, lastname, profileImage
from employee
profileImage
在我的表格中的image
数据类型。
问题:
当我尝试在查询中使用DISTINCT
从表中获取数据时,会出现以下错误。
消息421,级别16,状态1,行1图像数据类型不能 被选为DISTINCT,因为它不具有可比性。
当我从查询中删除DISTINCT
关键字时,它可以正常工作。
为什么会这样?
答案 0 :(得分:4)
IMAGE
数据类型是固定的,可变长度数据类型用于
存储二进制数据,使用IMAGE
数据的限制之一
type是此数据类型定义的列不能用作部分
在SELECT
DISTINCT
可能遇到包含DISTINCT
子句错误消息的SELECT
语句
IMAGE
数据类型可以转换为VARBINARY
数据类型。该
前面包含SELECT
子句的DISTINCT
语句可以
重写如下,并避免错误消息:
SELECT DISTINCT CAST([ProfileImage] AS VARBINARY(8000)) AS [ProfileImage]
FROM [dbo].[table]
参考此链接: http://www.sql-server-helper.com/error-messages/msg-421.aspx
希望它有所帮助。