[英]Oracle RR date format in MS SQL Server
我有一個要轉換為在MS SQL Server中運行的Oracle SQL腳本。 該腳本中包含to_date
函數,並使用RR
日期格式。 功能如下:
to_date('07-AUG-14','DD-MON-RR')
我將像這樣使用MS SQL Server函數CONVERT
CONVERT(DATETIME, '07-AUG-14', num)
其中num
是我需要的格式的代碼。
我應該在MS SQL Server中使用什么代碼來獲得與Oracle RR
格式相同類型的功能?
對於美國日期時間轉換,可以使用:
CONVERT(DATETIME, '07-AUG-14', 10)
-- ^^
對於其他文化, 樣式 (第三個參數)會有所不同; 但是,為了達到您的目的, 樣式必須是一個無世紀(yy)的值。
Oracle RR
日期格式的語義也適用於SQL Server的yy
日期樣式。 MSDN上的CAST和CONVERT(Transact-SQL) (用於SQL Server 2008)說明了...
默認情況下,SQL Server會基於截止日期2049來解釋兩位數年份。即兩位數年份49解釋為2049,兩位數年份50解釋為1950。
...並列出無世紀(yy)日期樣式的數值。
(作為參考,另一個SO答案解釋了Oracle RR
日期格式的等效語義 。)
您可以使用以下查詢來更廣泛地確認SQL Server( yy
日期樣式的默認語義...
SELECT CONVERT(DATETIME, '07-AUG-14', 10)
SELECT CONVERT(DATETIME, '07-AUG-49', 10)
SELECT CONVERT(DATETIME, '07-AUG-50', 10)
SELECT CONVERT(DATETIME, '07-AUG-51', 10)
...,產生...
2014-08-07 00:00:00.000 -- This century assumed.
2049-08-07 00:00:00.000 -- This century assumed.
1950-08-07 00:00:00.000 -- Last century assumed.
1951-08-07 00:00:00.000 -- Last century assumed.
...具有默認的兩位數年份截止時間配置。 (其他文化的yy
日期樣式應表現類似。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.