2011-11-17 56 views
2

我正在編寫一個腳本來清除一些數據,將日期存儲在var/dd/mm/yy中的日期轉換爲dd/mm/yyyy格式。 (是的,我知道,但不是我的設計:)在腳本中使用T-SQL'兩位數字截止日期'

我已經寫了一個腳本來做到這一點,但我目前有一個硬編碼常數2049作爲截止日期。我知道SQL有一個'Two Digit Year Cutoff'高級選項,我想用它來代替這個常量。

有沒有一種安全/方便的方法來檢索並在腳本中使用它? (需要支持的SQL Server 2005中/ 2008/2008R2)

+5

爲什麼不把它作爲DATETIME存儲呢? – vcsjones

+1

同意,不要將日期值存儲在字符字段中;這種方式就是瘋狂。特別是因爲你選擇的格式不能很好地排序/索引。 –

+0

不能同意更多,但它不是我的設計,也不能改變這個版本的模式。這是清理一些遺留數據以解決特定問題。 – Abort

回答

4
SELECT value 
FROM sys.configurations 
WHERE name = 'two digit year cutoff' 

但是你就不能轉換(假設你的系統設置爲使用DD/MM/YYY爲標準)爲datetime,然後再回來?

+0

我的第一個劇本就是這樣做的,但我不能確定系統會以dd/mm/yyyy格式設置,並且不想在飛行中改變它。這工作很好,謝謝。 – Abort