我在将Unix时间戳转换为sql server时间戳时遇到问题。
我在excel表中有数据,我将通过工具导入该数据。所以我正在寻找可以将Epoch时间戳转换为sql server时间戳的代码或语法。
我有3个不同的列,格式相同。如何更改这些列中的值。
例如:
答案 0 :(得分:21)
我有3个不同的列,格式相同。如何更改这些列中的值。
要更新表格中的3列,您可以使用列名称将DATEADD秒与时期(1970年1月1日)配对,即
update tbl set
datetimecol1 = dateadd(s, epochcol1, '19700101'),
datetimecol2 = dateadd(s, epochcol2, '19700101'),
datetimecol3 = dateadd(s, epochcol3, '19700101')
由于bigint列也不能是日期时间列,因此无法更新。您必须将它们更新为其他3列。
答案 1 :(得分:16)
SELECT DATEADD(ss, 1291388960, '19700101')
...指定1970年1月1日的日期。在此示例中,它以YYYYMMDD格式提供。
DATEADD将返回DATETIME数据类型,因此如果你有一个表&列已建立 - 您可以根据需要使用该功能进行INSERT / UPDATE。提供详细信息,我会澄清。有了DATETIME后,您可以使用CAST or CONVERT格式化TSQL中的日期。