首页 > 解决方案 > 如何将 DB2 时间戳转换为 SQL Server datetime2?

问题描述

我正在将 DB2 存储过程转换为 SQL Server。一个常见问题是 DB2timestamp非常普遍地使用时间日期格式,最接近的 SQL Server 等效格式似乎是datetime2.

将 DB2 转换timestampdatetime2.


我找到了这个问题,但没有任何答案。

标签: sqlsql-servertsqldb2

解决方案


DB2timestamp与 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

推荐阅读