如何在MSSQL中将13位二进制代码转换为DateTime格式

时间:2018-03-08 11:37:41

标签: sql-server sql-server-2008

我正在尝试将13位二进制代码插入到Datetime格式中,我在stackoverflow中尝试了一些示例,但没有任何对我有用。

注意:从API获取13位二进制值作为输入参数

这是我的二进制代码

"1520503133980"

这是插入“SESSION_START_DATE”栏目所需格式“08-03-2018 03:28:53”

这是我的插入查询

INSERT INTO [dbo].[EC_USER_SESSION] (IPADDRESS,SESSION_START_DATE,SESSION_END_DATE,SESSION_STATE,CREATED_BY,CREATED_DATE)
            VALUES(@IPADDRESS,@SESSION_START_DATE,@SESSION_END_DATE,@SESSION_STATE,@CREATED_BY,@CREATED_DATE)

我在stackoverflow中找到了这个解决方案

DECLARE @b bigint = 1520503133980
SELECT DATEADD(ms, @b % 1000,DATEADD(ss, @b/1000, CONVERT(DATETIME2(3),'19700101')))

输出是:

2018-03-08 09:58:53.980

我希望以上述格式输出

但我不知道如何在我的插入查询中应用此解决方案。

1 个答案:

答案 0 :(得分:0)

以下代码对您有所帮助,

img_path = 'horiz_interface/static/new_horizon_plot.png'
signal_plot = figure(x_range=x_range, y_range=y_range)
signal_plot.image_url(url=[img_path], x=1, y=1, w=500, h=409, anchor="bottom_left")

Sql Fiddle Demo here