srishti_ Ответов: 4

как преобразовать bigint в datetime в sql server


Привет,

У меня есть значение в bigint, и мне нужно преобразовать его в datetime мое значение-это "19820201150000" я пробовал эти решения, но ни одно решение не работает.


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

4 Ответов

Рейтинг:
23

george4986

проверить это

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


srishti_

Спасибо

george4986

у р приветствуется ;-)
пожалуйста, обратитесь к данной ссылке Для справки.

Рейтинг:
2

ChauhanAjay

Проверьте следующий url-адрес
http://stackoverflow.com/questions/3650320/convert-from-bigint-to-datetime-value


Рейтинг:
1

Samatha Reddy G

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')


Рейтинг:
1

srishti_

this is the solution

SELECT DATEADD(S, @your-big-int, '19700101')