DISTINCT关键字不适用于SQL Server中的图像数据类型

pro*_*011 2 c# sql sql-server sql-server-2008

我正在使用DISTINCTSQL查询,同时使用以下查询从SQL Server表中获取记录。

SELECT  DISTINCT firstname, lastname, profileImage 
from employee
Run Code Online (Sandbox Code Playgroud)

我的表格profileImageimage数据类型在哪里。

问题:

当我尝试从DISTINCT查询中使用表中获取数据时,出现以下错误。

消息421,级别16,状态1,行1无法将图像数据类型选择为DISTINCT,因为它不可比较。

当我DISTINCT从查询中删除关键字时,它可以正常工作。

为什么会这样?

SDK*_*SDK 5

  • IMAGE数据类型是固定的,并且长度可变的数据类型用于存储二进制数据。使用IMAGE数据类型的限制之一是,此数据类型定义的列不能用作SELECT包含DISTINCT子句错误消息的语句的一部分,使用DISTINCTinSELECT

  • IMAGE数据类型可以转换为VARBINARY数据类型。的 SELECT较早包含的发言DISTINCT子句可以改写如下和和避免该错误消息:

    SELECT DISTINCT CAST([ProfileImage] AS VARBINARY(8000)) AS [ProfileImage]
    FROM [dbo].[table]
    
    Run Code Online (Sandbox Code Playgroud)

引用此链接:http : //www.sql-server-helper.com/error-messages/msg-421.aspx

希望能帮助到你。

  • 嗨,SDK。尽管该链接可以回答问题,但只有答案不被接受。链接很好,但也可以将页面中的关键点放入您的答案中。这样,即使内容移动了,或者他们的网站爆炸了,您的答案仍然有用。 (2认同)