【问题标题】:How to Compare Time with Current time & display result based on that using MySQL?如何使用 MySQL 比较时间与当前时间并显示结果?
【发布时间】:2012-04-15 06:10:05
【问题描述】:

我有一个 mysql 数据库,其表结构如下:

Table Name : shop_mst
Fields : 
shop_name     varchar(100)
start_time    time
close_time    time

时间以 24 小时格式存储。现在我想创建一个 sql 查询来显示所有记录,但根据当前时间将 Shop 状态显示为 Open/Closed。因此,如果当前时间介于 start_time 和 close_time 之间,则应显示带有商店名称的“Open”。如果不是,它应该显示带有商店名称的“已关闭”。我怎样才能做到这一点?我还想将 Day 与另一个表中的字段进行比较,但那部分我会自己做:)

提前致谢。

【问题讨论】:

  • 你可以学习 MySQL 和你正在做的任何其他语言。不过,更有用的说明是,只需使用 CASE,或者最好以您用于使用 SQL 的语言处理它,而不是实际使用 SQL。

标签: mysql time compare


【解决方案1】:

试试下面:

select shop_name,if(left(curtime(),5) between start_time  and close_time ,'Open','Closed') as status 
from tablename

假设您以 18:30,16:15 ... 格式存储 star_time 和 close_time。

【讨论】:

  • 你可以使用 curtime() 而不是 left(curtime(),5) 然后
猜你喜欢
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-03
相关资源
最近更新 更多