1
我的数据库中有两列在SQL Server 2008R2(10.50.4000)上运行,它们是varchar(max),但在SQL Server Management Studio(11.0)中运行。 5343.0),它们在资源管理器窗口中显示为文本。在SQL Server Management Studio中显示为文本的Varchar(最大)
当我运行一个查询
SELECT DISTINCT
J.TICKETID,
J.jobNotes,
J.jobScopeOfWork
FROM
sysdba.ALX_JOB J
JOIN
sysdba.ALX_JOBTYPE T ON J.JOBTYPEID = T.ALX_JOBTYPEID
JOIN
sysdba.ALX_JOBSTATUS S ON J.STATUSID = S.ID
JOIN
sysdba.ADDRESS A ON J.ADDRESSID = A.ADDRESSID
LEFT OUTER JOIN
sysdba.ALX_JOB_JOBUSERS ju ON j.TICKETID = ju.ticketId
WHERE
(ju.ALX_USERID = '12345' OR j.UserID = 12345)
我得到的错误
消息421,级别16,状态1,行1个
文本数据类型不能为选择为DISTINCT,因为它不具有可比性。Msg 421,Level 16,State 1,Line 1
无法将文本数据类型选为DISTINCT,因为它不具有可比性。
如下
底层SQL Server **数据库引擎是什么版本?管理GUI的版本并不相关 - 它是**引擎**,它定义哪些数据类型存在(或不存在)。在你的数据库上运行'SELECT @@ VERSION'并回报。还要检查数据库的**兼容性级别**(在对象资源管理器中,右键单击数据库>属性>选项>兼容级别) –
SQL Server 2008 R2(10.50.4000) –
并且兼容性级别??如果它设置为“80”(SQL Server 2000) - 你不能使用'Varchar(max)'...... –