如何在SQL Server 2012中将数字转换为DateTime? [英] How to Convert Numbers into DateTime in SQL Server 2012?

查看:220
本文介绍了如何在SQL Server 2012中将数字转换为DateTime?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个名为
的字段


DateInNumber

------------

6455646445

1337654860

2342141234

6456435634

4745674574

.. 。

..

...



i需要日期时间格式。



2014-08-21 16:10:23 sql server格式。



查询是什么?

解决方案

尝试这样..

 选择 cast(SUBSTRING('  11122014' 1  2 )+ '  /' + SUBSTRING('  11122014' 3  2 )+ '  /' + SU BSTRING('  11122014' 5  4  as   date 





更新:

 声明  @ val   as   varchar (max)
set @ val = ' 11122014101012'
select cast((SUBSTRING( @ val 1 2 )+ ' /' + SUBSTRING( @ val 3 2 )+ ' /' +
SUBSTRING( @ val 5 4 )+ ' ' + SUBSTRING( @ val 9 2 )+ ' :' ++ SUBSTRING( @val 11 2 )+ ' :' + SUBSTRING( @ val 13 2 )) as datetime


当日期时间数字以秒为单位时,此公式适用于我,



dateadd(s,DateInNumber,'1970-01-01')as DateTime串

I have a field called

DateInNumber
------------
6455646445
1337654860
2342141234
6456435634
4745674574
...
..
...

i need out in datetime format.

2014-08-21 16:10:23 format in sql server.

What will be the query?

解决方案

try like this..

select cast(SUBSTRING('11122014',1,2)+'/'+SUBSTRING('11122014',3,2)+'/'+SUBSTRING('11122014',5,4) as date)



Updated:

declare @val as varchar(max)
set @val='11122014101012'
select cast((SUBSTRING(@val,1,2)+'/'+SUBSTRING(@val,3,2)+'/'+
SUBSTRING(@val,5,4)+' '+SUBSTRING(@val,9,2)+':'++SUBSTRING(@val,11,2)+':'+SUBSTRING(@val,13,2)) as datetime)


This formula works for me when datetime numbers are in seconds,

dateadd(s,DateInNumber , '1970-01-01') as DateTimeString


这篇关于如何在SQL Server 2012中将数字转换为DateTime?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆