【问题标题】:Retrieve a record with fromdate and todate by passing single date in MySQL通过在 MySQL 中传递单个日期来检索带有 fromdate 和 todate 的记录
【发布时间】:2015-04-28 14:16:30
【问题描述】:

这里我有一个带有 fromDate 和 toDate 字段的数据库表。我的要求是检索具有特定日期的所有记录(它可以是 fromDate 或 toDate 或介于 fromDate 和 toDate 之间)。

表名:我的表

我需要查找日期为 13/2/2015 的记录(它可以是 fromDate 或 toDate 或介于 fromDate 和 toDate 之间)。查找此类记录的查询是什么?

【问题讨论】:

    标签: java mysql sql datetime hql


    【解决方案1】:

    您可以使用BETWEEN 子句。假设 from 和 to 日期包含在内,你会写:

    SELECT ...
    WHERE '2015-02-13' BETWEEN fromDate AND toDate
    

    【讨论】:

    • 此查询的 HQL 有点令人困惑:"from MyTable mT where selectDate BETWEEN mT.fromDate AND mT.toDate" selectDate - param mT.fromDate and mT.toDate - database table column 这是您查询的正确 HQL 吗?
    • 如果我在 fromDate 和 toDate 之间有两个日期要搜索怎么办。我试过这样SELECT * FROM test.sample where '2014-11-10' or '2014-11-18' BETWEEN FROM_DATE and TO_DATE; 不工作
    • @tvshajeer 试试这个,SELECT * FROM test.sample where '2014-11-10' BETWEEN FROM_DATE and TO_DATE or '2014-10-16' BETWEEN FROM_DATE and TO_DATE;
    猜你喜欢
    • 1970-01-01
    • 2012-04-27
    • 2019-12-28
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多