Должны ли даты храниться как Datetime или как int в SQL? - PullRequest
4 голосов
/ 31 марта 2009

Я храню все свои даты для публикации на моем форуме в datetime (0000-00-00 00:00:00). Я вижу, что phpBB, punBB и все популярные форумы хранят даты в int?

Что лучше?

Ответы [ 12 ]

0 голосов
/ 01 апреля 2009

Я работаю с хранилищем данных, которое хранит даты как целые, например, в. Формат 20090331. Затем есть таблица, предназначенная для преобразования этого int в любую информацию, связанную с датой, включая представление даты и времени. Это обеспечивает большую гибкость и позволяет нам добавлять дополнительную информацию, такую ​​как номер квартала, обозначение праздника и т. Д. Если вам нужно что-то кроме целой даты, просто присоединитесь к таблице дат.

select MyTable.Stuff,DimDate.AsDateTime,DimDate.BusinessQuarter,DimDate.IsHoliday from MyTable
inner join DimDate on MyTable.DateKey = DimDate.DateKey
0 голосов
/ 31 марта 2009

FYI, если вы используете int / timestamp, вы все равно можете получить все функции, которые ваша СУБД может предложить для даты / времени. Например, в MySQL есть FROM_UNIXTIME(timestamp), который принимает целочисленную временную метку и возвращает DATETIME, которую затем можно использовать по своему усмотрению.

Для продолжительного обсуждения, нигде нет лучше, чем отличные люди в проекте Drupal: http://groups.drupal.org/node/731

Надеюсь, это поможет.

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