我發現一個存儲過程在我的開發SQL Server上工作,但不在我的臨時SQL Server上。 我發現問題是試圖存儲一個日期,這2個SQL Server響應不同。 所以我已經隔離了SQL代碼的問題。 在發展我的時間字段是好的,但不是分期:日期格式的SQL Server不匹配
我需要知道如何讓這些2個數據庫服務器相互匹配的日期時間格式。
我發現一個存儲過程在我的開發SQL Server上工作,但不在我的臨時SQL Server上。 我發現問題是試圖存儲一個日期,這2個SQL Server響應不同。 所以我已經隔離了SQL代碼的問題。 在發展我的時間字段是好的,但不是分期:日期格式的SQL Server不匹配
我需要知道如何讓這些2個數據庫服務器相互匹配的日期時間格式。
檢查暫存計算機的區域設置。我敢打賭,它被設置爲使用YYYY/DD/MM作爲默認日期格式,所以它認爲你試圖在本月使用26,這將超出範圍。
是的,這是一個答案:https://meta.stackoverflow.com/questions/318020/so-this-is-an-answer –
我發現我的開發SQL Server設置爲美國英語和另一臺服務器設置爲英國。真的2應該是一致的,但如果這樣做的話,現有數據的後果是什麼?如何? – arame3333
如果更改這些設置,現有數據將不會更改。但是,如果用戶不知道此設置並輸入不會觸發超出範圍的異常的數據(如「2017/07/01」),表格中可能存在不正確的數據。也許這將是從生產中刷新兩臺服務器的好時機。 :) –
您需要更改DATEFORMAT
配置才能正常工作。使用以下內容:
Set DateFormat YMD
Declare @Logged DateTime
Set @Logged = N'2017/07/26 11:32:01.161'
Select @Logged
這將對此問題進行編碼,但不是關於如何更改服務器以便與Dev服務器的行爲相匹配的問題? –
爲什麼不將日期時間傳遞給存儲過程? –