我可以在查询SQL Server 2008中序列化日期时间数据JSON

时间:2012-10-04 03:27:54

标签: sql-server json sql-server-2008 serialization deserialization

我已将数据日期时间反序列化,并将其保存在我的数据库表列中:

  

\ /日期(1328029200000 + 0700)\ /

但我可以使用query sql将其再次转换为日期格式吗?

1 个答案:

答案 0 :(得分:0)

declare @jsondate varchar(40) = '\/Date(1328029200000+0700)\/';
select substring(@jsondate,8,10) -- seconds
      ,substring(@jsondate,18,3) -- milliseconds
      ,substring(@jsondate,21,5) -- utc offset
      ,
-- this next expression is what you need
       cast(convert(char(20),
       dateadd(ms,1*substring(@jsondate,18,3),
       dateadd(ss,1*substring(@jsondate,8,10),'19700101'))
        ,120) + stuff(substring(@jsondate,21,5),4,0,':')
            as datetimeoffset(4));

-- result 2012-01-31 17:00:00.0000 +07:00