我需要將我的字符串日期轉換爲日期時間類型。1950年之前的日期等於未來日期
這裏有一個最新情況:
'19 -Apr-36'
DECLARE @strDate VARCHAR(25)
SELECT @strDate = '19-Apr-36'
SELECT CAST(@strDate as datetime)
結果在2036年4月19日
將來的日期,這怎麼處理正常,什麼其他警告在那裏?
我需要將我的字符串日期轉換爲日期時間類型。1950年之前的日期等於未來日期
這裏有一個最新情況:
'19 -Apr-36'
DECLARE @strDate VARCHAR(25)
SELECT @strDate = '19-Apr-36'
SELECT CAST(@strDate as datetime)
結果在2036年4月19日
將來的日期,這怎麼處理正常,什麼其他警告在那裏?
默認情況下,SQL Server將在當前世紀中解釋36年。您需要明確說明1936年或更改two digit year cutoff option。
編輯:只是爲了澄清 - 你不想改變這個設置,因爲它是服務器範圍的,會引起更多的困惑,而不會對你有所幫助。優先選擇明確的日期。
+1!打我一秒鐘 – 2012-03-21 13:37:20
您可以設置一年,當類似這樣
sp_configure 'two digit year cutoff', 2070
reconfigure
世紀的變化,我建議您只需使用一個使用四位數年份的日期表示。 – 2012-03-21 13:35:58