Как отформатировать целую дату (5 цифр) в гггг-мм-дд в SQL Server?
У меня есть база данных с целочисленными полями (столбцами) с именами fSystemDate, fOpenned, fStatusDate и т. Д. Я думаю, что они представляют даты, но я не знаю их формат. Значения в этих полях таковы: 76505, 76530, 76554, 76563. У меня нет примеров с реальной датой, связанной с ними.
Решаемые. Посмотри ответы.
2 ответа
Я обнаружил, что этот формат является частью языка программирования, называемого Clarion, и нумерация его дат начинается 28 декабря 1800 года. Я могу преобразовать данные Clarion в SQL-дату двумя способами:
SELECT DATEADD (день, 76505, '28-12-1800')
где результат будет 2010-06-15 00:00:00.
ВЫБРАТЬ КОНВЕРТ (DateTime,76505 - 36163)
где результат такой же. Номер 36163 используется для настройки SQL. Это количество дней между 1 января 1900 года (нумерация даты и времени MSSQL) и 28 декабря 1800 года (нумерация даты и времени Clarion начинается).
Результат в моем случае верный, потому что я (их клиент) запросил примеры данных из вашего приложения и сравнил информацию.
Довольно сложно помочь вам, учитывая только номер. Похоже, ваши даты - это какой-то серийный номер. Но без каких-либо других точек данных
эпоха. Эпоха - это нулевая точка календарной системы.
приращение. Насколько велика отметка в серийном номере? 1 день? 1 час, 1 минута? Неделя? Месяц?
исходное оборудование / операционная система. Из какой компьютерной системы возникла ценность? Разные системы представляют даты по-разному, используя разные календарные системы с разными эпохами.
исходная система программного обеспечения. Какое программное обеспечение создало ценность? Было ли это специальное программное обеспечение? На каком языке это написано? Когда? Что такое хранилище данных? Базы данных, файловые системы и т. Д. Могут иметь собственное внутреннее представление даты.
представленная стоимость. Если
76563
действительно представление даты, какую дату она представляет? Или, по крайней мере, это представляет недавнюю дату? свидание в прошлом? свидание в будущем?
Невозможно ответить на ваш вопрос. Эта страница может помочь вам:
В нем перечислены некоторые общие эпохи для разных компьютерных систем:
Отредактировано, чтобы отметить: вот одна точка данных для вас: добавление 76 563 дней к 1 января 1800 года дает дату 16 August 2009
,