【问题标题】:Mysql between query not working查询之间的Mysql不起作用
【发布时间】:2014-04-11 09:36:22
【问题描述】:

我正在使用 mysql。我想显示两个日期之间的记录。 我通过网络搜索,发现mysql的日期格式是yyyy/mm/dd。 所以我写的查询如下,

select 
    * 
from tbl_reservation 
where 
    current_date between '2014-03-28' and '2014-03-26';

但是,我不知道为什么它不起作用。 “col_date”具有 DATE 数据类型。我没有在里面储存时间。

让我告诉你我在后端做了什么,

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date curr_date=new Date();
String compareDate=sdf.format(curr_date);

我将此值存储在“col_date”中。是因为这个处理而发生的吗?

提前感谢您宝贵的时间。

【问题讨论】:

    标签: mysql date between


    【解决方案1】:

    使用BETWEEN,首先使用最少的日期,然后是最晚的日期

    应该是:

    select * from tbl_reservation 
    where col_date between '2014-03-26'  -- least date
                       and '2014-03-28'; -- latest date
    

    【讨论】:

    • 是的,朋友。我这样做了,但它仍然无法正常工作。我已经编辑了我的问题。请通过它。我也解释了后端代码。感谢您的宝贵时间。
    【解决方案2】:

    先写入较低的日期值。

    SELECT * FROM tbl_reservation WHERE col_date BETWEEN '2014-03-26' AND '2014-03-28'
    

    【讨论】:

      【解决方案3】:

      我已将列名设置为current_date。实际上它是mysql中的一个函数。所以我不能使用current_date 作为列名。谢谢我今天学到了一些新东西。谢谢各位大师。

      【讨论】:

      • 如果问题是列的名称,我建议您使用原始名称编辑您的问题。在那里,您使用了col_date 而不是current_date,所以就目前而言,它不代表可重现的问题,也不以任何方式反映您的解决方案。
      • 我做到了。谢谢你注意到我。
      猜你喜欢
      • 2014-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多