【问题标题】:how to search records beetween two dates. But table date format is varchar如何搜索两个日期之间的记录。但表日期格式是 varchar
【发布时间】:2018-12-11 10:54:19
【问题描述】:

我有一张桌子。其中,列名为tb_date,即varchar格式。在该列中保存日期,但格式不同(如:01/07/201 OR 01-08-20182017/03/12 等)。 现在我想在给定日期之间进行搜索。但它不起作用。我试过了-

SELECT * FROM `user_History` WHERE date_format(str_to_date(`tb_date`, '%d/%m/%Y'), '%d/%m/%Y') BETWEEN '01/06/2018' AND '31/06/2018'

但它给出了所有记录。 我在我的sql中试过了。

有什么问题?

【问题讨论】:

  • 首先,清理数据。

标签: php mysql sql ajax mysqli


【解决方案1】:

问题出在您的str_to_date(tb_date, '%d/%m/%Y'),您给出了导入日期的格式%d/%m/%Y,但您在此字段中有不同的格式。

我认为,您应该通过 PHP 处理所有表格,例如,通过函数 strtotime() 将所有日期转换为 UNIX_TIMESTAMP。

这将比尝试为其创建 SQL 查询更容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-04
    • 2015-07-01
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多