2011-03-15 114 views
11

我的網站在本地完美工作,但不在主機上。 我在本地寫了我的MSSQL 2008查詢,但我們的託管公司使用2005
任何解決方案?
編輯:使用日期時間而不是日期看起來像解決方案謝謝。 如果有人遇到這樣的問題,我解決了使用此查詢而不是DATE類型的問題。「類型DATE不是已定義的系統類型。」

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

回答

17

在2008年推出了新的數據類型,它不能作爲日期欄,無法在SQL Server 2005中,所以你有兩個選擇:

1)讓您的主機公司使用SQL Server 2008(或選擇另一臺主機,其所做的)

2)使用日期時間列,而不是日期

+0

非常棒,我用'datetime'代替。它會給出相同的結果嗎? – BNN 2015-06-26 05:13:55

1

更改您的數據庫,而不是使用日期日期時間。該列類型在SQL Server 2005中受支持,而Date不是。

7
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) 
+2

其他版本'SELECT CAST(DATEDIFF(dd,0,GETDATE())AS DATETIME)' – Jaider 2012-08-30 13:37:16

0

在2005年每一次運行如上午12:00,這將允許時間維度匹配。

脫光 「時間」 使用的是這樣的:

CAST(CONVERT(VARCHAR(20),enteredDate,101)爲DATETIME)AS 'enterDate'

它會導致你的時間值爲12:00:00 AM,這是默認值,您可以將其視爲「空」。