【问题标题】:How to compare two time columns in mysql PHP如何比较mysql PHP中的两个时间列
【发布时间】:2019-08-09 06:58:40
【问题描述】:

我想使用 php 从 mysql 检查时间可用性,这是我的表

id      employeeid          booking_starttime           bookingclosetime
1       4                   1565347980                  1565349300
1       4                   1565360100                  1565364900

现在我有动态的booking_start_time(1565346900)booking_end_time(1565350500),我想检查booking_starttime(varchar)booking_endtime(varchar) 是否存在 这段时间之间的数据库那么我该怎么做呢?

【问题讨论】:

  • 在开始和结束时间之间以时间戳格式传递您需要的时间。
  • @DevsiOdedra: 请您写下查询,以便我检查

标签: php mysql datetime time


【解决方案1】:

看看你是否有任何两个时间戳,你可以像这样简单地比较它们,因为它们只是数字。

Select * from table where booking_starttime < bookingclosetime

现在回答你的问题:

现在我有动态 booking_start_time(1565346900) 和 booking_end_time(1565350500) 我想检查是否 booking_starttime(varchar) 和 booking_endtime(varchar) 存在于 这段时间之间的数据库那么我该怎么做呢?

SELECT * FROM table where booking_start_time = '1565346900' AND booking_end_time = '1565350500'

【讨论】:

  • 实际上我有两个动态参数(start_time 和 end_time),我想与数据库保存的“booking_starttime”和“booking_endtime”进行比较,但您的查询不适用于此
  • 好的,所以将时间戳分别传递给开始时间和结束时间,我想你已经在数据库中保存了时间戳
  • 你是对的,请仔细听我的要求我想用我的参数比较数据库时间我的参数时间是否存在(它们是否在参数之间)
【解决方案2】:

MySQL 提供了将为您执行此类操作的 between 关键字

Select * from table where :date between start_date and end_date

https://www.techonthenet.com/mysql/between.php

【讨论】:

  • 您的查询可能是错误的,因为我不想只匹配日期我想匹配日期时间
  • 检查一个值是否包含在一个范围内(包括限制)。在这里输入,无关紧要。
  • 以下代码有什么问题,它不起作用 if(($req_stime>=$bookedstime || $req_stime=$bookedstime && $req_etime
猜你喜欢
  • 1970-01-01
  • 2011-05-30
  • 2019-02-27
  • 1970-01-01
  • 2011-07-27
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
  • 2012-12-01
相关资源
最近更新 更多