[英]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.