SQL Server: DateTime хранится как Int со странными значениями - PullRequest
0 голосов
/ 16 ноября 2018

Я запрашиваю базу данных, которая поддерживается другой компанией, и извлекаю даты из их базы данных, но они хранятся как целые числа.Они имеют 9-значные значения, такие как:

  • 577976126
  • 595678891

и т. Д.

Эти даты, очевидно, все находятся в пределахОднако последние несколько дней, когда я запрашиваю ту же запись, используя их интерфейсное приложение, я не могу определить, какой формат дат они используют.Попытка привести или преобразовать эти значения в datetime или тому подобное во все ошибки выброса.

Является ли 9-значный формат даты, начинающийся с 5, SQL Server?Или это соглашение, установленное этой сторонней компанией?Если у кого-либо есть какая-либо информация, даже о том, какой формат даты может быть и как конвертировать, это было бы чрезвычайно полезно.

РЕДАКТИРОВАТЬ:

Вот несколько примеров, сравнивающих значение SQL идата-время переднего конца.

595678891 - 11/14/18 9:05  
595672666 - 11/13/18 20:35  
581623591 - 06/06/18 18:06  

Я полагаю, что все время переднего конца указано в EST.

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Похоже, что оно сохраняется как эпоха , которое является целым числом, поскольку оно представляет собой время, прошедшее с выбранной даты начала.

Вы должны знать дату начала, чтобы правильно конвертировать. Например, самая распространенная эпоха - это эпоха Unix, которая начинается 1 января 1970 года. Все даты рассчитываются как время, прошедшее с этой даты.

Возможно, вы сможете использовать онлайн калькуляторы эпохи , чтобы определить используемую дату эпохи. Я попробовал с вашими образцами и обнаружил, что 1 января 2000 года для первого элемента возвращается 16 ноября 2018 года, что, кажется, соответствует вашим ожиданиям.

Вы должны выяснить, какая эпоха используется, чтобы быть уверенным ...

0 голосов
/ 16 ноября 2018

Просто предположение, но они выглядят как секунды с 2000-01-01

Пример

Select dateadd(second,595678891,'2000-01-01')

Возвращает

2018-11-16 10:21:31.000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...