如何将DB2时间戳转换为SQL Server datetime2?

时间:2019-02-25 18:22:35

标签: sql sql-server tsql db2

我正在将DB2存储过程转换为SQL Server。常见问题之一是,DB2非常普遍使用时间日期格式timestamp,对于该日期格式,最接近的SQL Server等效项是datetime2

将DB2 timestamp转换为datetime2的简便方法是什么?


我找到了this question,但没有任何答案。

1 个答案:

答案 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