【发布时间】:2021-02-14 00:53:33
【问题描述】:
我正在将 DB2 存储过程转换为 SQL Server。一个常见问题是 DB2 非常普遍地使用时间日期格式 timestamp,与之最接近的 SQL Server 等效似乎是 datetime2。
将 DB2 timestamp 转换为 datetime2 的简单方法是什么?
我找到了this question,但没有任何答案。
【问题讨论】:
标签: sql sql-server tsql db2
我正在将 DB2 存储过程转换为 SQL Server。一个常见问题是 DB2 非常普遍地使用时间日期格式 timestamp,与之最接近的 SQL Server 等效似乎是 datetime2。
将 DB2 timestamp 转换为 datetime2 的简单方法是什么?
我找到了this question,但没有任何答案。
【问题讨论】:
标签: sql sql-server tsql db2
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
【讨论】: