时间间隔查询返回空闲时间?

时间:2014-09-18 15:24:09

标签: mysql sql oracle phpmyadmin

我可以看到我想要完成的任务,但无法找到正确的方法。我有一个服务美容店,并希望通过他们所拥有的服务和时间间隔范围进入我的数据库我的客户。例如:

╔════╦══════════════╦═══════════════════════════════════════════╦═════════════╗
║ ID ║ CustomerName ║                 INTERVAL                  ║ Nameservice ║
╠════╬══════════════╬═══════════════════════════════════════════╬═════════════╣
║ 01 ║ John         ║ 18/01/2015 15:00 on 01/18/2015 16:00      ║ Manicure.   ║
║ 03 ║ Maria        ║ 18/01/2015 18:00 on 01/18/2015 19:00      ║ pedicure.   ║
╚════╩══════════════╩═══════════════════════════════════════════╩═════════════╝

一旦我得到我的范围,我希望查询返回免费的时间,例如从16:00到18:00。我尝试使用PHPMyAdmin,但没有间隔类型数据类型

1 个答案:

答案 0 :(得分:0)

您可以将关系数据库与两个时间字段一起使用:一个用于开始时间,另一个用于结束时间。

CREATE TABLE IF NOT EXISTS `procedures` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(55) COLLATE utf8_unicode_ci NOT NULL,
 `starting_time` datetime NOT NULL,
 `ending_time` datetime NOT NULL,
 `procedure_type` varchar(55) COLLATE utf8_unicode_ci NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;