首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mysql函数在一个单元格中有多个条目

Mysql函数在一个单元格中有多个条目
EN

Stack Overflow用户
提问于 2017-05-15 18:32:45
回答 1查看 45关注 0票数 0

因此,我正在为我的工作设计一个时间表系统,基本上我想知道mysql是否有一种方法可以做这样的事情:

代码语言:javascript
运行
复制
       |Monday  |tuesday|wendsday|total
|Dan   |5am-7am |7am-6pm|6am-11am|
        11am-2pm|       |2pm-7pm |
        5pm-12am|

如果需要的话,我可以在同一单元格中的每个人每天输入多个轮班,而不是重复数次如下所示的名称:

代码语言:javascript
运行
复制
    Dan|5-4|
    Dan|6-8|

如果有一个函数可以计算多个移位的单元格内的总时间

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-15 18:52:50

有一种方法(将数据表示为字符串),但您不会想这样做--您将丢失所有的计算、搜索等。您不应该试图将数据库中的数据精确地表示为纸面上的数据。我会做一张这样的桌子

代码语言:javascript
运行
复制
ShiftID|Person|StartTime|EndTime

在创建日期时间类型的StartTime & EndTime列时,不仅要存储班次开始的HH:mm,还要存储当天。当你有一个从一天开始到下一天结束的轮班时,这是很有帮助的,比如从2017-05-15 :00开始,到2017-05-16 02:00星期二结束。

您只能使用MySQL DATE()函数从该字段提取日期,并仅选择在这一天开始或结束的实体。要计算移位的持续时间,可以使用MySQL函数TIMESTAMPDIFF(),如果是星期一、星期二等,甚至可以使用DAYOFWEEK()获取。

关于复制这个人的名字-我会做另一个表,它将使用户与他们的数据匹配到ID --列Person中的使用ID,但是对于初学者,如果您的数据不是很大,如果速度不是问题,如果错误错误(比如Den而不是Dan)不是问题.您可以直接在这个表中使用这个名称。

在像这样的表中存储数据之后,您可以用HTML (或打印)表示它。

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

https://stackoverflow.com/questions/43986511

复制
相关文章

相似问题

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