如何在SQL Server 2012中将数字转换为DateTime? [英] How to Convert Numbers into DateTime in SQL Server 2012?
本文介绍了如何在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屋!
查看全文