2012-03-21 58 views
2

我需要將我的字符串日期轉換爲日期時間類型。1950年之前的日期等於未來日期

這裏有一個最新情況:

'19 -Apr-36'

DECLARE @strDate VARCHAR(25) 
SELECT @strDate = '19-Apr-36' 

SELECT CAST(@strDate as datetime) 

結果在2036年4月19日

將來的日期,這怎麼處理正常,什麼其他警告在那裏?

+1

世紀的變化,我建議您只需使用一個使用四位數年份的日期表示。 – 2012-03-21 13:35:58

回答

10

默認情況下,SQL Server將在當前世紀中解釋36年。您需要明確說明1936年或更改two digit year cutoff option

編輯:只是爲了澄清 - 你不想改變這個設置,因爲它是服務器範圍的,會引起更多的困惑,而不會對你有所幫助。優先選擇明確的日期。

+0

+1!打我一秒鐘 – 2012-03-21 13:37:20

1

您可以設置一年,當類似這樣

sp_configure 'two digit year cutoff', 2070 
reconfigure 
相關問題