我使用的是2005 SS如果SQL Server的SET DATEFIRST範圍
我見過像
DECLARE @restore = SELECT @@DATEFIRST
SET DATEFIRST 1
SELECT datepart(dw,ADateTimeColumn) as MondayBasedDate,.... FROM famousShipwrecks --
SET DATEFIRST @restore
示例代碼假設?
如果另一個查詢依賴於datefirst爲7(例如)並沒有設置它,並且在我的查詢運行時運行,那麼他的問題是沒有設置它?或者是否有更好的方式來編寫查詢,這些查詢取決於指定日期是第1天。
所以,如果你正在編寫一個將構成整個會話的存儲過程 - 作爲一個水晶報表的唯一數據源,SP沒有機會改變或重用它 - th en恢復原始值沒有意義嗎? – 2009-05-20 12:56:58
同意,但也許Crystal Reports緩存連接。所以恢復原始值不會有什麼傷害。 – Andomar 2009-05-20 13:05:54