Mysql 存储和检索时间和日期

标签 mysql database time

我试图在 MySql 中存储各种信息,例如主题、主题天数、开始时间、结束时间和老师。然后,我将检索数据并将其呈现在表格中,其中列是,行是时间间隔。我该如何开始?我需要考虑哪些事情?

谢谢!

最佳答案

如果您需要以这种方式显示数据,我建议将日期和一天的时间间隔存储在两个单独的表中:

CREATE TABLE day(id int, day date);

CREATE TABLE interval (int id, int day_id, start_time time, end_time time); 

然后您可以使用简单的 JOIN 进行查询:

SELECT start_time, end_time FROM interval i
JOIN day d ON d.id = i.day_id

如果您需要聚合,请反转 JOIN 并使用 SUBTIME计算每日间隔的函数:

SELECT SUBTIME(i.start_date,i.end_date) FROM day d
JOIN interval i ON  d.id = i.day_id
GROUP_BY d.day

关于Mysql 存储和检索时间和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18308230/

相关文章:

php - PHP脚本长时间运行可能出现哪些问题

Mysql 更新变量中带有 ' 符号

mysql - 如何提供对数据库子集的公共(public)访问?

java - 在java中生成随机双数的最快方法

php - 如何使用 php utf8 在数据库中插入 ö/ä/ü

java - 我有哪些优化这个 Spring/Hibernate 页面的选项?

javascript - 简单的 javascript 更正(日期/时间)

java - hibernate 配置mysql

php - 我应该在 php cli 中的每个查询后关闭 mysql_connection 吗?

php - 相同的查询,不同的结果。 WordPress 排序