【问题标题】:DATE type not working in SQL Server 2008 R2DATE 类型在 SQL Server 2008 R2 中不起作用
【发布时间】: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。这会是您认为的问题吗?我不熟悉兼容性级别和东西。
  • @sergeidav​​e - 是的,这意味着当您使用 SQL Server 2008 R2 时,数据库就像 SQL 2005 数据库一样运行。负责数据库的人可能有充分的理由这样做,或者可能是偶然的。在更改它之前,您应该阅读它:technet.microsoft.com/en-us/library/bb510680(v=sql.105).aspx

标签: sql date types sql-server-2008-r2


【解决方案1】:

Type DATE is not a defined system type.

看起来很清楚,您的系统不接受 DATE 类型,可能您运行的是 SQL Server 2005 或更早版本,或者兼容模式..

【讨论】:

    猜你喜欢
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    相关资源
    最近更新 更多