Как преобразовать 13-значную временную метку в формат даты и времени в mssql - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь сохранить 13-значную временную метку, чтобы сохранить формат даты и времени в таблице MS SQL. Я пытался во многих отношениях, а также искал в SO сообщения, ничего не помогло мне.

Код ввода: 1525939481255

Обязательный формат : DD-MM-YYYY HH:MM:SS (12 hour time format)

Я хочу преобразовать вышеуказанный 13-значный код в вышеупомянутый формат. Может кто-нибудь помочь мне решить эту проблему?

Ответы [ 3 ]

0 голосов
/ 10 мая 2018

Попробуйте это:

declare varchar(max) myDateTime = select dateadd(second, 1525939481255/1000 + 8*60*60, '19700101');

SELECT  REPLACE(
            REPLACE(
                RIGHT(
                    '0000000000' + 
                        CONVERT(
                        varchar(10), 
                        cast(myDateTime as time(0)), 
                        109),
                10), 
            'PM', 
            ' p.m.'),
        'AM',
        ' a.m.') as 'Time'
 , reverse(Left(myDateTime, 10)) as 'date'
0 голосов
/ 10 мая 2018

Время UNIX может быть преобразовано в обычное время даты и будет отформатировано в ожидаемый формат:

DECLARE @DateValue AS BIGINT = 1525939481255;

SELECT  CONVERT(VARCHAR(10), DATEADD(SECOND, @DateValue/1000 ,'1970/1/1'), 105) + ' ' + 
        CONVERT(VARCHAR(15), CAST(DATEADD(SECOND, @DateValue/1000 ,'1970/1/1') AS TIME), 100)

вывод:

10-05-2018 8:04AM
0 голосов
/ 10 мая 2018

Я предполагаю, что это было время Unix в миллисекундах так что попробуйте этот запрос

select CONVERT(VARCHAR(10),DATEADD(SECOND, 1525939481255/1000 ,'1970/1/1'),105)

Извините, мне не хватает формата времени,

Попробуйте это ..

select CONVERT(VARCHAR(10),DATEADD(SECOND, 1525939481255/1000 ,'1970/1/1'),105) + ' ' + FORMAT(DATEADD(SECOND, 1525939481255/1000 ,'1970/1/1'),'h:mm:ss tt')

CMIIW, пожалуйста, дайте мне знать, если это поможет ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...