Как сохранить значение длительности для чтения в десятичном формате, чч: мм и т. Д. - PullRequest
0 голосов
/ 15 марта 2012

Я создаю программное приложение для журнала пилотов, и пилоты регистрируют время полета в различных форматах.В США пилоты регистрируют время полета, как правило, в десятых долях, то есть 90 минут полета регистрируются как 1,5.Международные / европейские пилоты обычно регистрируют время в формате ЧЧ: ММ, поэтому 90 минут будут записываться как 1:30.Некоторые могут также хотеть другие форматы, такие как 1 + 30.

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

Мы также обсуждали хранение TICKS.Проблема заключается в агрегировании значений позже в отчетах, системах сводных таблиц, таких как DevExpress XtraPivotGrid и т. Д. И еще большее беспокойство вызывает то, как эти данные будут обрабатываться на мобильных устройствах, таких как приложения журнала на iPhone, Android и т. Д., С использованиемSQLite.В прошлом у нас были проблемы с Palm OS, размером с числом (целое число) и переполнением.Когда вы наберете TICKS за 30 лет пилотирования, вы можете получить огромное количество.Делая средние значения и т. Д ....

Для пилотов, которые отслеживают время полета в десятичном формате, мы используем шкалу времени, такую ​​как 27-33 минуты, это 0,5, поэтому, если вы летите в течение 32 минут, вы регистрируете 0,5 или 1Через час и 33 минуты вы бы записали его как 1,5, поэтому нам нужно применять шкалу времени при преобразовании сохраненного значения в отображаемое значение.Для европейца это будет 1:33 для последнего случая, который был зарегистрирован как 1,5 в США.

Как вы предлагаете сохранить время полета пилота в базе данных, чтобы его можно было преобразовать в десятые, сотыеили ЧЧ: ММ презентация?Также рассмотрите совокупности, мобильные приложения и т. Д.

Спасибо.

1 Ответ

0 голосов
/ 15 марта 2012

Используйте определение TIME (или DATETIME по вашему желанию), родное для варианта базы данных SQL.Преобразование в / из внешних представлений, как требуется для вывода / ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...