【发布时间】:2014-05-21 15:50:01
【问题描述】:
我一直在阅读 DATE 类型应该从 SQL Server 2008 开始工作的地方,例如:stackoverflow.com/a/126984/1155650
我使用的是 SQL Server 2008 R2,由于某种原因无法识别 DATE 类型。我错过了什么吗?
当我执行这个时:
SELECT CONVERT(DATE, GETDATE())
我收到此错误消息:
消息 243,第 16 级,状态 1,第 1 行
类型 DATE 不是已定义的系统类型。
【问题讨论】:
-
您是否在 2008 R2 以外的兼容模式下运行(即兼容模式 100)?
-
您能否查询并告诉我们您是否看到列出的日期:select * from sys.types WHERE name LIKE '%date%'
-
@Angel_Boy 我运行了查询,它只返回两种类型:smalldatetime 和 datetime
-
@LittleBobbyTables 当我运行“从 sys.databases 中选择名称,兼容性级别”时,我得到了所有数据库的名称,并且所有这些名称的兼容性级别都为 90。这会是您认为的问题吗?我不熟悉兼容性级别和东西。
-
@sergeidave - 是的,这意味着当您使用 SQL Server 2008 R2 时,数据库就像 SQL 2005 数据库一样运行。负责数据库的人可能有充分的理由这样做,或者可能是偶然的。在更改它之前,您应该阅读它:technet.microsoft.com/en-us/library/bb510680(v=sql.105).aspx
标签: sql date types sql-server-2008-r2