Когда мне нужно хранить информацию о времени и времени, как лучше всего хранить ее в базе данных?
Если я храню их как представление String
, например. получить текущую временную метку (например, с помощью Date
) и сохранить представление String
в БД - это хорошая идея?
Какова наилучшая практика для этого? Каковы любые минусы?Как лучше сохранить отметку времени или дату в базе данных?
ответ
Лучшей практикой является использование типа TIMESTAMP
или DATE
в базе данных. Все основные поставщики баз данных поддерживают эти стандартные типы данных SQL.
Помимо оптимизации производительности и хранения, вы получите выразительность, и в зависимости от используемой базы данных вы сможете использовать множество функций и операций манипулирования датами. Подумайте о сравнении дат, добавление даты, добавив интервалы дат (например, что завтра день), и т.д ...
Обратите внимание, что ...
- Если вы используете Oracle, нужно учитывать, что
DATE
также содержит информацию о времени - Если вы используете SQLite, остерегайтесь того, что типы datetime могут иметь числовое или текстовое сходство. То есть они сохраняются как числа или текст.
- Если вы используете SQL Server, Sybase (ASE и SQL Anywhere), SQLite, диалект конкретной версии типа
TIMESTAMP
данных называетсяDATETIME
(SQL сервераTIMESTAMP
фактическиVARBINARY(8)
) - По крайней мере, H2, HSQLDB, MySQL, Sybase SQL Anywhere поддерживают как
TIMESTAMP
, так иDATETIME
типы данных синонимы.
Его наилучшим образом использовать тип данных timestamp как в MySQL, так и в T-SQL.
Использование временных меток позволяет выполнять калибровки по данным гораздо более легким запросам, добавлениям или дням подстановки, месяцам, годам, сколько угодно. Также заказать проще.
Временные метки также содержат часть часового пояса, поэтому, если вам когда-либо понадобится интернационализировать ваш сайт, было бы проще.
Большинство языков, таких как PHP, также имеют функции отображения временных меток в выбранном вами формате, чтобы вы могли конвертировать временные метки в более читаемые форматы.
Наконец, в плагинах javascript/jquery часто требуются полные временные метки для выполнения вычислений по датам и времени jQuery timeago, например.
Опасайтесь, что в (SQL Server) T-SQL 'timestamp' на самом деле является' varbinary (8) '... Тип данных временной метки SQL называется' datetime' в T-SQL ... –
Лучшей практикой является использование типа данных DATE/TIMESTAMP, доступного у вашего поставщика баз данных, одним из преимуществ наличия основного типа данных является то, что «в будущем вы можете запрашивать конкретные условия времени», например, в будущем вы можете требуют
- Создания отчета конкретного месяца/год
- Сформировать отчет между двумя датами, то есть между 01/05/11 и 01/02/12 и т.д.
- для отображения даты мудрого отчета (т.е. общий объем продаж 15 августа, 11), хотя это также можно сделать с использованием типа данных String, я думаю, что сравнение даты намного быстрее, чем представления String (char или Varchar и т. д.). 4 .....
Помимо вышеперечисленных условий, это еще много случаев, для которых разумнее использовать дату? TimeStamp вместо String ....
- 1. Как сохранить отметку времени или дату в Orion?
- 2. Сохранить дату в базе данных как UTC
- 3. Как сохранить пустую дату в базе данных
- 4. Как сохранить выбранную дату в базе данных?
- 5. Сохранить только дату (без) времени в базе данных
- 6. Сохранить дату в базе данных с рельсами
- 7. PHP - Сохранить изображение в базе данных или файл лучше?
- 8. Как изменить дату на отметку времени для уже сохраненных записей?
- 9. Сохранить полную дату или просто год в базе данных
- 10. Преобразовать отметку времени Unix в длинную оригинальную отметку времени
- 11. Как отображать отметку времени как дату в higcharts?
- 12. Сохранить текущую дату в базе данных
- 13. Как автоматически сохранить отметку времени, когда запись добавлена / обновлена в базе данных облака Firebase
- 14. Как создать уникальное ограничение на дату отметку времени
- 15. Как сохранить дату в базе данных с текущим временем?
- 16. Хранение даты или времени или времени в реляционной базе данных
- 17. Хранение времени в базе данных
- 18. Как преобразовать дату ответа в facebook на отметку времени unix
- 19. Сохранить дату-время в UTC в базе данных
- 20. Как сохранить и получить дату + время в базе данных sqlite3?
- 21. Как удалить отметку времени и дату из строки
- 22. Как сохранить дату в базе данных sqlite в iphone
- 23. Как сохранить выбранную дату в базе данных sqlite в android?
- 24. Как сохранить дату в базе данных MySQL в определенном формате?
- 25. FTP-скрипт сохранить отметку времени после файла
- 26. Как сохранить дату в базе данных с помощью @ Html.DisplayFor
- 27. Как переопределить автоматическую отметку времени в FileMaker
- 28. Как сохранить дату и время в базе данных EDB
- 29. Как сохранить дату Joda в базе данных sql?
- 30. Сохранить дату в часовом поясе 'GMT' в базе данных sqlite
Что я могу получить с помощью, например, «Строка»? – Jim
@Jim: я отвечу на этот вопрос в моем обновленном ответе –