我正在将DB2存储过程转换为SQL Server。常见问题之一是,DB2非常普遍使用时间日期格式timestamp
,对于该日期格式,最接近的SQL Server等效项是datetime2
。
将DB2 timestamp
转换为datetime2
的简便方法是什么?
我找到了this question,但没有任何答案。
答案 0 :(得分:0)
DB2 timestamp
与SQL Server datetime2
非常相似,除了连字符和使用句点代替冒号。
您可以使用stuff()
更改这些字符,然后将convert()
更改为`datetime2。
示例:
declare @DB2_timpstamp varchar(30)
declare @SQL_datetime2 datetime2
set @DB2_timpstamp = '2019-02-02-11.22.33.456789'
set @SQL_datetime2 = try_convert(datetime2, stuff(stuff(stuff(@DB2_timpstamp, 17, 1, ':'), 14, 1, ':'), 11, 1, ' '))
select @SQL_datetime2