Как отформатировать целую дату (5 цифр) в гггг-мм-дд в SQL Server?

У меня есть база данных с целочисленными полями (столбцами) с именами fSystemDate, fOpenned, fStatusDate и т. Д. Я думаю, что они представляют даты, но я не знаю их формат. Значения в этих полях таковы: 76505, 76530, 76554, 76563. У меня нет примеров с реальной датой, связанной с ними.

Решаемые. Посмотри ответы.

2 ответа

Решение

Я обнаружил, что этот формат является частью языка программирования, называемого Clarion, и нумерация его дат начинается 28 декабря 1800 года. Я могу преобразовать данные Clarion в SQL-дату двумя способами:

  1. SELECT DATEADD (день, 76505, '28-12-1800')

    где результат будет 2010-06-15 00:00:00.

  2. ВЫБРАТЬ КОНВЕРТ (DateTime,76505 - 36163)

    где результат такой же. Номер 36163 используется для настройки SQL. Это количество дней между 1 января 1900 года (нумерация даты и времени MSSQL) и 28 декабря 1800 года (нумерация даты и времени Clarion начинается).

Результат в моем случае верный, потому что я (их клиент) запросил примеры данных из вашего приложения и сравнил информацию.

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

  • эпоха. Эпоха - это нулевая точка календарной системы.

  • приращение. Насколько велика отметка в серийном номере? 1 день? 1 час, 1 минута? Неделя? Месяц?

  • исходное оборудование / операционная система. Из какой компьютерной системы возникла ценность? Разные системы представляют даты по-разному, используя разные календарные системы с разными эпохами.

  • исходная система программного обеспечения. Какое программное обеспечение создало ценность? Было ли это специальное программное обеспечение? На каком языке это написано? Когда? Что такое хранилище данных? Базы данных, файловые системы и т. Д. Могут иметь собственное внутреннее представление даты.

  • представленная стоимость. Если 76563 действительно представление даты, какую дату она представляет? Или, по крайней мере, это представляет недавнюю дату? свидание в прошлом? свидание в будущем?

Невозможно ответить на ваш вопрос. Эта страница может помочь вам:

http://www.itworld.com/article/2823335/data-center/128452-Just-dating-The-stories-behind-12-computer-system-reference-dates.html

В нем перечислены некоторые общие эпохи для разных компьютерных систем:

Отредактировано, чтобы отметить: вот одна точка данных для вас: добавление 76 563 дней к 1 января 1800 года дает дату 16 August 2009,

Другие вопросы по тегам