我有一个Oracle查询
SELECT to_timestamp('29-03-17 03:58:34.312000000 PM','DD-MM-RR HH12:MI:SS.FF AM')
FROM DUAL
我希望转换为SQL Server,需要保留Oracle日期字符串,即
'29-03-17 03:58:34.312000000 PM'
。SELECT
CONVERT(DATETIME, REPLACE(REPLACE('29-03-2017 03:58:34.312000000 PM','-', '/'),'000000 ', ''), 131)
我尝试了上面的查询,因为131格式与“29-03-17 03:58:34.312000000 PM”的格式“dd/mm/yyyy hh:mi:ss:mmmAM”非常相似,但唯一的区别在于年份。
在Oracle中,年份为17,在SQL Server中,年份为2017。我需要在年份前加上20,使其成为2017。该查询将其转换为伊斯兰教历日期时间格式。我需要它以公历日期时间格式。
这是文档。
https://learn.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql
我需要将以Oracle格式表示的字符串日期转换为SQL Server等效日期。是否有一种方法可以在转换函数中指定格式,例如“dd/mm/yyyy hh:mi:ss:mmmAM”,而不是指定日期格式代码(如131、101、102)?