首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将时间存储在SQL中

将时间存储在SQL中
EN

Server Fault用户
提问于 2011-06-02 17:35:17
回答 2查看 7.8K关注 0票数 3

在SQL中存储一天中时间的正确方法是什么?

有一个只关心某一行动发生的领域。示例值将是下午2:30或14:30,这对我来说并不重要。这个值永远不会被加、减、比较等。它只是一个静态属性。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2011-06-02 17:48:15

如果您正在使用或MySQL (我相信其他人也会支持这一点,但这是我所知道的唯一明确的2),它们都包含用于存储时间值的专用数据类型。

我总是建议以它们的专用格式(DATETIMEDATETIME等)存储日期和时间,因为如果您需要查询值或以其他方式操作它们,那么编写SQL就更容易了,因为otherwise知道字段中的数据类型。例如,如果您将日期或时间存储在VARCHAR中,您可能(或不可能)(数据库引擎依赖者)能够编写指定SomeDateTimeField >= '2011-01-01 09:00:00' AND SomeDateTimeField <= '2011-01-01 17:00:00'的查询,而不必呕吐。

这里提供Server和MySQL TIME数据类型信息,以供参考。

  • 服务器时间数据类型
  • MySQL时间数据类型
票数 6
EN

Server Fault用户

发布于 2011-06-02 17:58:21

有许多选择-三大选择是:

  1. 使用INTEGER存储Unix time_t值(自01/01/1970以来的秒数) (如果使用此路径,请确保至少使用64位整数)。
  2. 使用SQL日期和时间类型 (TIMEDATETIMETIMESTAMP等)-每个DB服务器可用类型的列表不同)
  3. 使用无聊的VARCHAR字段 (不要这样做)。你的“永不”会变成“好吧,就这一次.”)

最“正确”的方法是为SQL实现使用日期和时间类型--这通常允许您使用内置日期比较和格式设置命令。

关闭的秒是整数/time_t值,因为有用于转换和处理日期表示的定义良好的函数。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/276378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档