Я работаю над базой данных SQL-сервера, и у меня есть два столбца в таблице со значениями, подобными приведенным ниже. Я пробовал конвертировать в формат datetime, date, epoch, excel, ничего не работает, я не могу точно найти, что это такое. Может я ошибаюсь и это не datetime? Что бы это могло быть?
428964571475
426594519082
426594519086
426594519091
426594519095
426594519097
428964564747
426594519102
Может в названии колонки есть подсказка? Но никто больше не знает ни вашу базу данных, ни то, что она моделирует, ни процессы, которые питают этот столбец, ни то, как эта информация используется.
Колонки названы одной буквой, первая имеет имя 't', остальные колонки я знаю - id и имена, но не могу понять формат этих двух. Это должно быть datetime, но я не знаю, как его преобразовать...
Это может быть миллион разных вещей, выяснить, что создает данные, а затем пойти и ударить человека, который подумал, что назвать столбец t
было хорошей идеей.
Остальные комментаторы правы. Нет никакого способа узнать. В конечном итоге вам нужно связаться с человеком, который сгенерировал эти значения. Моя интуиция подсказывает, что это дата, включая дробную часть дня, умноженная на 10 миллионов. Но что такое нулевая дата? 30 декабря 1899 г.? 01 января 1900 г.? Если да, то почему все время около 11 утра? Попробуйте что-то вроде: объявить @x bigint = 428964571475 select cast ( @x * 0.0000001 as datetime ) -- 2017-06-12 10:58:17.543
Все, что мы можем сделать, это предположить, может быть, это количество миллисекунд, прошедших с 1 января 2005 года. Может быть, это количество миллисекунд до 2033 года. Может быть, это день рождения собаки человека, который это написал. Может быть, это не дата, а случайное число. Или, может быть, это телефонные номера Чехословакии.
Попробуйте запустить новую дату (426594519082) и другие значения в консоли браузера. На выходе - дата из 80-х. Кажется ли это чем-то интуитивно понятным в базе данных, над которой вы работаете?
@David Dubois, большое спасибо!!! это ответ! Так что я был прав, это дата и время, я не мог понять, как его преобразовать, вы меня спасли!
declare @x bigint = 428964571475
select cast ( @x * 0.0000001 as datetime )
Здешние пользователи знают о вашей базе данных гораздо меньше, чем вы. Если вы не знаете, что представляет собой случайное целочисленное значение, у некоторых незнакомцев из Интернета шансов еще меньше. Вам нужно поговорить с тем, кто разработал вашу базу данных или приложение, которое вставляет значения в указанную базу данных, чтобы узнать, что они представляют. Документация вам тоже поможет.