SQL Server 2014类型DATE不是定义的系统类型

时间:2019-02-12 08:41:49

标签: sql-server sql-server-2014

我在存储过程中使用以下查询

SELECT @ICOUNT = COUNT(*)
FROM MESSAGES
WHERE CAST(CREATEDDATE AS DATE) >= CAST(@STARTDATE AS DATE) 
    AND CAST(CREATEDDATE AS DATE) <= CAST(@ENDDATE AS DATE);

它在Sql Server 2008中正常工作,而在Sql Server 2014中,我遇到以下错误:

  

类型DATE不是已定义的系统类型。

1 个答案:

答案 0 :(得分:1)

如果兼容性级别为90,则表示您不使用SQL Server 2014,因为它不支持此兼容性级别(支持的最低级别为100)。

如果使用2012(支持兼容性级别90的最高版本),则应将兼容性级别更改为110。对于2008/2008 r2版本,最大兼容性级别为100。

使用alter database更改兼容性级别:

ALTER DATABASE database_name   
SET COMPATIBILITY_LEVEL = 110 -- or 100 for 2008 versions.