“类型DATE不是定义的系统类型。”

时间:2011-03-15 14:49:17

标签: sql-server-2005 sql-server-2008

我的网站在本地工作,但不在主持人工作。 我在本地用MSSQL 2008写了我的查询,但我们的托管公司用2005年 任何解决方案?
编辑:使用DateTime而不是Date看起来像解决方案谢谢。 如果有人遇到这样的问题我使用此查询而不是DATE类型解决了我的问题。

CONVERT(VARCHAR,GETDATE(),104)输出 - > 15.03.2011

5 个答案:

答案 0 :(得分:17)

由于日期列在Sql Server 2005中不可用,因此您有两种选择:

1)要求您的托管公司使用Sql Server 2008(或选择其他主机)

2)使用DateTime列而不是Date

答案 1 :(得分:8)

DATE是2008年推出的一种新数据类型。它于2005年推出。

答案 2 :(得分:7)

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))

答案 3 :(得分:1)

将数据库更改为使用Datetime而不是Date。 SQL Server 2005支持该列类型,而Date不支持。

答案 4 :(得分:0)

2005年每次运行时间为凌晨12:00,这将允许时间维度匹配。

剥离“时间”使用这样的东西:

CAST(CONVERT(varchar(20),enteredDate,101)AS DateTime)AS'enterDate'

这将导致您的时间值为12:00:00 AM,这是默认值,您可以有效地将其视为“null”。