mysql - 使用 Date_Format MySQL 获取最短时间

标签 mysql date-format

这是我到目前为止的代码

    "select * from schedule_tbl where sname = '" & Label4.Text &"' 
and starting_time <= ending_time and ending_time >= starting_time
and day = DATE_FORMAT(Now(),'%W')"



starting_time        ending_time            day
 07:00:00             08:30:00              Tuesday
 08:30:00             10:00:00              Tuesday

它只返回数据库中的第一条记录。我想要的是,如果现在的时间是上午 8:30,那么下一个时间表将显示为上午 8:30 - 上午 10:00。我如何使用上面的代码来做到这一点?或者还有其他方法可以实现这一点吗?

示例架构

enter image description here

最佳答案

您想要添加“我希望开始时间小于或等于现在”逻辑,可以通过 starting_time<=DATE_FORMAT(NOW(),'%T') 来完成:

"select * from schedule_tbl where sname = '" & Label4.Text &"' 
    and starting_time <= ending_time and starting_time<=DATE_FORMAT(NOW(),'%T')
    and day = DATE_FORMAT(Now(),'%W')"

请注意,正如评论中提到的,ending_time >= starting_time是多余的,因为它满足 starting_time <= ending_time .

关于mysql - 使用 Date_Format MySQL 获取最短时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35871603/

相关文章:

c# - LINQ 组不工作

mysql - 使用 WHERE AND 的多参数化 SQL 语法无效

c# - 数据库返回在启动时有效,但在更新时无效

java - 如何在Java 8中将三个字母月份名称日期的首字母大写

java - 无法解析日期异常

java - DateTimeFormatter - java.lang.IllegalArgumentException : Too many pattern letters: a

javascript - 如何在 JavaScript 中将字符串日期数字转换为日期时间?

mysql - 如何处理多个连接

database - 如何更改sql server 2008的日期格式

PHP ORDER BY 不工作嵌套查询