База данных: Хранение дат в виде числовых значений - PullRequest
0 голосов
/ 15 марта 2010

Я рассматриваю хранение некоторых значений даты в виде целых чисел. т.е. 201003150900

Кроме того факта, что я теряю информацию о часовом поясе, есть ли еще что-то, что меня должно волновать из-за его решения? Любые запросы, использующие этот столбец, будут простыми поисками типа «где после или до». т.е. когда поле даты меньше 201103000000 (до марта следующего года).

В настоящее время приложение использует MSSQL2005. Любые указатели на подводные камни приветствуются.

Ответы [ 4 ]

3 голосов
/ 15 марта 2010

Использование правильного типа данных datetime даст вам более эффективное хранилище (smalldatetime потребляет 4 байта) и индексирование, а также даст вам семантику, которую будет легче разрабатывать. Вы должны придумать убедительный аргумент, чтобы не использовать их.

1 голос
/ 15 марта 2010

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

В противном случае используйте встроенные типы времени, как указали другие.

1 голос
/ 15 марта 2010

Просто используйте типы данных DATETIME или SMALLDATETIME, они более гибкие.

1 голос
/ 15 марта 2010

Почему бы вам не использовать правильные метки времени UNIX ? Они тоже просто целые, но они не такие широкие, как 201103000000.

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