duanmingting9544 2017-04-26 08:22
浏览 88
已采纳

Mysql在两小时之间获取数据

Fetch records between to hours For example records between 5AM to 6PM Sql statement as below

SELECT idProperty 
from property_work_hours 
WHERE day = '1' 
  AND (CONCAT('5:00', ' ', 'AM') BETWEEN CONCAT(`working_hour_from`, ' ', `from_period`) 
  AND CONCAT(`working_hour_to`, ' ', `to_period`)     
  or   CONCAT('6:00', ' ', 'PM') BETWEEN CONCAT(`working_hour_from`, ' ', `from_period`) 
  AND CONCAT(`working_hour_to`, ' ', `to_period`)) GROUP BY idProperty

Table

enter image description here

  • 写回答

2条回答 默认 最新

  • drcomwc134525 2017-04-26 09:15
    关注

    Not sure why you are not using appropriate field types. You asked

    "For example records between 5AM to 6PM"

    but then have a where condition for 1AM! I guess you wanted, anyone who worked between 5AM to 6PM regardless when they started or finished working.

    WHERE(
        (`day` = 1) -- Day is 1
        AND (
            -- starting time is between 5am to 6pm
            TIME(STR_TO_DATE(concat(time(`working_hour_from`),`Period_from`),'%h:%m:%s %p')) between '05:00:00' and '18:00:00'
            -- or finished between 5am to 6pm
            OR TIME(STR_TO_DATE(concat(time(`working_hour_to`),`period_to`),'%h:%m:%s %p')) between '05:00:00' and '18:00:00'
        )
    );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘