【问题标题】:MySQL - Return Row Where Current Date Between Start and End DateMySQL - 返回开始日期和结束日期之间当前日期的行
【发布时间】:2016-05-15 23:30:49
【问题描述】:

我到处搜索,找不到答案。

下表显示了课程的开始和结束时间。

我希望返回当前时间位于当前开始时间和结束时间之间的行。

开始和结束时间将根据当前时间而变化,因此无法输入具体值。

一个例子,如果当前时间是:

2016-02-05 20:15:00

然后它将返回 Class ID 为 6 的行

【问题讨论】:

  • 你对now()between有什么不明白的地方吗?

标签: mysql sql database datetime time


【解决方案1】:

您可以使用以下任何查询

SELECT * 
FROM Table
WHERE NOW() BETWEEN Class_Start_Timestamp AND Class_End_Timestamp

SELECT * 
FROM Table
WHERE NOW() >= Class_Start_Timestamp AND NOW() <= Class_End_Timestamp 

【讨论】:

    【解决方案2】:
    SELECT * FROM TABLE 
    WHERE Class_Start_Timestamp > GETDATE()
    AND Class_End_Timestamp < GETDATE()
    

    如果列不是日期时间:

    SELECT * FROM TABLE 
    WHERE CAST(Class_Start_Timestamp AS datetime) > GETDATE()
    AND CAST(Class_End_Timestamp AS datetime) < GETDATE()
    

    您也可以使用“NOW()”(mysql)和“BETWEEN”,但快速 google 应该会产生很多选项...

    【讨论】:

    • 我使用了现在和之间。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多