如何在sql server中将bigint转换为datetime

如何在sql server中将bigint转换为datetime

问题描述:

您好,



我在bigint中有一个值,我需要将其转换为datetime我的值是19820201150000我试过这些解决方案但不是单一的解决方案正在运行。





Hello,

I have a value in bigint and i need to convert it into datetime my value is this "19820201150000" i tried these solutions but not a single solution is working.


SELECT DATEADD(SECOND, 1218456040709 / 1000, '19691231 20:00')

SELECT DATEADD(SECOND, 19820201150000 / 1000, '19691231 20:00')

select dateadd(hh,-4,dateadd(ss,19820201150000/1000,'1970/01/01 00:00'))

select CONVERT(DATETIME,REPLACE(DATEADD( day, 19820201150000, '12/31/1849'),'12/31/1849',0),101)

select dateadd(ss, 19820201150000/1000, '19691231 20:00')

SELECT DateAdd(ms, 19820201150000 % 1000, DateAdd(SECOND, 19820201150000 /  1000, '1970-01-01T00:00:00.000')) AS ToTheMs,
   DateAdd(SECOND, 19820201150000 /  1000, '1970-01-01T00:00:00.000')  AS ToTheSecond,
   DateAdd(MINUTE, 19820201150000 / 60000, '1970-01-01T00:00:00.000')  AS ToTheSecond

检查以下网址

http:// stackoverflow.com/questions/3650320/convert-from-bigint-to-datetime-value
Check the below url
http://stackoverflow.com/questions/3650320/convert-from-bigint-to-datetime-value


检查这个

check this
DECLARE @di_date BIGINT
SET @di_date=19820201150000

DECLARE @ds_date VARCHAR(20)
SET @ds_date=CONVERT(VARCHAR(20), @di_date )

select
Convert(time,Dateadd(SECOND,
        Right(@ds_date,2)/1,
        Dateadd(MINUTE,
                Right(@ds_date,4)/100,
                Dateadd(hour,
                        Right(@ds_date,6)/10000,
                        '1900-01-01')))) +
convert(datetime,LEFT(@ds_date,8)) as DateConverted





学分http://rdineshkumar.wordpress.com/tag/how-to-convert-yyyymmddhhmmss-to-datetimedatetime-in-sql-server



credits http://rdineshkumar.wordpress.com/tag/how-to-convert-yyyymmddhhmmss-to-datetimedatetime-in-sql-server


First please check with this 1982020115000.  (i removed one zero what you gave in the question because as per my knowledge that value should be 13 digits) now it is working
SELECT DATEADD(SECOND, 1982020115000 / 1000, '19691231 20:00')