powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получить дату+время из поля в формате bigint
9 сообщений из 9, страница 1 из 1
Получить дату+время из поля в формате bigint
    #40047367
Всем привет!

БД на MSSQL 2014. В поле bigint лежит значение вида - 637494192000000000. Как преобразовать это значение в формат datetime?

Пытался так, но результат не совсем соответствуют тому, какое должно быть.

Код: sql
1.
select dateadd(ms, 637493592800000000 / 864000000000 , convert(datetime, getdate()))



Разница примерно на 20 минут больше той, которая должна там лежать.
...
Рейтинг: 0 / 0
Получить дату+время из поля в формате bigint
    #40047385
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
864000000000 - чота дофига кажется. К-во нулей адекватное?

Сутки - это кажется 86400000 ms. Или я не прав?
...
Рейтинг: 0 / 0
Получить дату+время из поля в формате bigint
    #40047416
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Всем привет!

БД на MSSQL 2014. В поле bigint лежит значение вида - 637494192000000000. Как преобразовать это значение в формат datetime?

Пытался так, но результат не совсем соответствуют тому, какое должно быть.

Код: sql
1.
select dateadd(ms, 637493592800000000 / 864000000000 , convert(datetime, getdate()))



Разница примерно на 20 минут больше той, которая должна там лежать.

Что-то я не совсем понял, Ваш код, но работает он правильно.
Вы к текущей дате прибавляете 737839 миллисекунд, что является 12 минут
...
Рейтинг: 0 / 0
Получить дату+время из поля в формате bigint
    #40047422
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Всем привет!

БД на MSSQL 2014. В поле bigint лежит значение вида - 637494192000000000. Как преобразовать это значение в формат datetime?

Пытался так, но результат не совсем соответствуют тому, какое должно быть.

Код: sql
1.
select dateadd(ms, 637493592800000000 / 864000000000 , convert(datetime, getdate()))



Разница примерно на 20 минут больше той, которая должна там лежать.

Вам скорее всего нужно это
Код: sql
1.
2.
3.
select dateadd(ss, (63749359280000 - 62135596800000) / 1000, '19700101')

2021-02-19 19:21:20.000


где 62135596800000 = кол-во миллисекунд от 01.01.0001 до 01.01.1970

и да 637494192000000000 слишком большое и поэтому надо разделить на 10000
...
Рейтинг: 0 / 0
Получить дату+время из поля в формате bigint
    #40047536
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
Всем привет!

БД на MSSQL 2014. В поле bigint лежит значение вида - 637494192000000000. Как преобразовать это значение в формат datetime?

Пытался так, но результат не совсем соответствуют тому, какое должно быть.

Код: sql
1.
select dateadd(ms, 637493592800000000 / 864000000000 , convert(datetime, getdate()))



Разница примерно на 20 минут больше той, которая должна там лежать.


И чо, завтра там будет лежать ДРУГАЯ дата?
Бред.
...
Рейтинг: 0 / 0
Получить дату+время из поля в формате bigint
    #40047648
HandKot
Евгений Стронг
Всем привет!

БД на MSSQL 2014. В поле bigint лежит значение вида - 637494192000000000. Как преобразовать это значение в формат datetime?

Пытался так, но результат не совсем соответствуют тому, какое должно быть.

Код: sql
1.
select dateadd(ms, 637493592800000000 / 864000000000 , convert(datetime, getdate()))



Разница примерно на 20 минут больше той, которая должна там лежать.

Вам скорее всего нужно это
Код: sql
1.
2.
3.
select dateadd(ss, (63749359280000 - 62135596800000) / 1000, '19700101')

2021-02-19 19:21:20.000


где 62135596800000 = кол-во миллисекунд от 01.01.0001 до 01.01.1970

и да 637494192000000000 слишком большое и поэтому надо разделить на 10000


Спасибо! Я проверю этот запрос чуть позднее.
...
Рейтинг: 0 / 0
Получить дату+время из поля в формате bigint
    #40047649
aleks222
Евгений Стронг
Всем привет!

БД на MSSQL 2014. В поле bigint лежит значение вида - 637494192000000000. Как преобразовать это значение в формат datetime?

Пытался так, но результат не совсем соответствуют тому, какое должно быть.

Код: sql
1.
select dateadd(ms, 637493592800000000 / 864000000000 , convert(datetime, getdate()))



Разница примерно на 20 минут больше той, которая должна там лежать.


И чо, завтра там будет лежать ДРУГАЯ дата?
Бред.


Да, это значение (637493592800000000 ) из поля, в котором оно периодически обновляется и вот надо его показывать в "человеческом" виде.
...
Рейтинг: 0 / 0
Получить дату+время из поля в формате bigint
    #40047659
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг,

Вы же знаете, каким алгоритмом время превращается в это значение, подумайте, как его превратить в символьную форму.
...
Рейтинг: 0 / 0
Получить дату+время из поля в формате bigint
    #40047749
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Стронг
aleks222
пропущено...


И чо, завтра там будет лежать ДРУГАЯ дата?
Бред.


Да, это значение (637493592800000000 ) из поля, в котором оно периодически обновляется и вот надо его показывать в "человеческом" виде.


Сложение с текущей датой должно этому способствовать?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получить дату+время из поля в формате bigint
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]