【问题标题】:Format MySQL datetime field as "hh:mm"将 MySQL 日期时间字段格式化为“hh:mm”
【发布时间】:2015-03-30 16:55:12
【问题描述】:

我有以下 MySQL 查询:

SELECT * FROM m3
WHERE datetime >= DATE_SUB(NOW(), INTERVAL 8 HOUR) AND mod(minute(time),1) = 0
ORDER BY id ASC ";

这个查询的输出例如现在:18:30:34

每分钟都会有一个新的日期时间,我将只选择完整(半)小时。所以18:30、19:00、19:30、20:00等

现在我只想选择不包括秒的小时和分钟。

例如:18:30。

如何管理它以使其出现在此查询中?

【问题讨论】:

  • 是否要从datetime 列中提取小时,就像提取18:30:34 的子字符串一样?
  • 是的,每分钟都会有一个新的日期时间,我将只选择完整(半)小时。所以18:30、19:00、19:30、20:00等
  • 你应该更新你的问题来解释它,不清楚你想要每半小时行一次。
  • 我每半小时查询一次: $sql = "SELECT * FROM m1 WHERE datetime >= DATE_SUB(NOW(), INTERVAL 8 HOUR) AND mod(minute(time),30) = 0 ORDER BY id ASC LIMIT 16 ";
  • 在我的数据库中,我有“日期时间”列。在那里你看到这个:2015-03-30 19:30:35。从这些数据中我只需要小时和分钟。所以在这个例子中是:19:30

标签: mysql datetime select


【解决方案1】:

【讨论】:

  • 我只需要调整我的查询给出的内容。
  • 是的,但是时间字段的名称是什么?
  • 在我的数据库中,我有“日期时间”列。在那里你看到这个:2015-03-30 19:30:35。只有我需要从这些数据中,是小时和分钟。所以在这个例子中是:19:30
  • 嗯,是的,有什么问题吗?如果你用我的查询替换你的SELECT *,你应该只有几小时和几分钟,如果你想要所有字段都加上你的*。喜欢SELECT *, DATE_FORMAT(datetime, '%H:%i') etc...
  • 当我有这个查询时,我的输出仍然是:HH:MM:SS?? --- $sql = "SELECT *, DATE_FORMAT(datetime, '%H:%i') FROM m1 WHERE datetime >= DATE_SUB(NOW(), INTERVAL 8 HOUR) AND mod(minute(time),30) = 0 ORDER BY id ASC ";
猜你喜欢
  • 1970-01-01
  • 2021-02-17
  • 2018-02-20
  • 2023-04-09
  • 2018-02-05
  • 1970-01-01
  • 2020-01-25
  • 1970-01-01
  • 2011-01-23
相关资源
最近更新 更多