在mysql中查找前一天的日期字段和时间字段记录

eaf3rand  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(460)

我有下面的结构作为一个表,我想从一天前的记录中选择,我尝试了下面的查询来选择记录。

SELECT slot_date, slot_time FROM slot_booking WHERE slot_date =
DATE_SUB(CURDATE(), INTERVAL 24 HOUR)


假设今天是(2018-04-03)时间是09(24小时格式),我想从db 2018-04-04时间09:00:00到9:30:00之间选择一个记录
我正在努力比较时间域,如果你有任何建议或解决方案后,你回答

k10s72fa

k10s72fa1#

在日期和时间字段中,使用str\u to\u date转换为datetime,然后根据需要使用date\u add或date\u sub

SET @DT = '2018-04-14';
SET @T  = '09:00:00';
set @now = '2018-04-13 09:00:00';
SELECT STR_TO_DATE(CONCAT(@DT,@T),'%Y-%m-%d%H:%i:%s') dt,
         case when STR_TO_DATE(CONCAT(@DT,@T),'%Y-%m-%d%H:%i:%s') 
            between date_add(@now, interval 24 hour) and date_add(date_add(@now, interval 24 hour),interval 30 minute) then 'true'
         else 'false'
         end as inrange;

+---------------------+---------+
| dt                  | inrange |
+---------------------+---------+
| 2018-04-14 09:00:00 | true    |
+---------------------+---------+
1 row in set (0.00 sec)

相关问题