【问题标题】:MySQL Date Search MM/DD/YYYY to MM/DD/YYYYMySQL 日期搜索 MM/DD/YYYY 到 MM/DD/YYYY
【发布时间】:2009-08-23 22:11:21
【问题描述】:

我在 MySQL 中有一个表,如下所示:

date        |storenum   |views 
-------------------------------
08/21/2009  |42         |3  
-------------------------------
08/22/2009  |43         |1    
-------------------------------
08/21/2009  |43         |4  
-------------------------------
08/22/2009  |42         |22
-------------------------------

我知道这是一种非常规的日期格式,但为了便于使用,我使用它而不是 YYYY-MM-DD。然而,我必须搜索这个数据库以获取两个日期之间的所有“查看记录”。一般来说,它可以工作,但是当我从 01/01/2009 到 01/01/2010 这样的日期进行搜索时,我没有得到任何结果。

有人有什么建议吗?欢迎建设性批评。谢谢!

【问题讨论】:

    标签: php mysql date


    【解决方案1】:

    老实说,改变存储日期的方式。但是为了使用你现在拥有的东西,你可以考虑使用 STR_TO_DATE() 将它们转换为 MySQL 可以使用的日期。

    【讨论】:

    • Jon,我应该将其更改为 YYYY-MM-DD,并在发送给用户之前对其进行格式化吗?
    • 根据您的使用方式,有多种方法。有些人喜欢使用 UNIX 时间戳,它从 1970 年(纪元时间)开始以秒为单位测量日期。其他人喜欢以更易于阅读的格式存储它,例如 YYYY-MM-DD。
    • yyyymmdd 或 unix 时间戳,是的,在表示层中格式化它(如果这样做是合乎逻辑的,则在查询本身中)。
    • Itay,不要修改我的答案。请提供您自己的。
    • @Italy Moav:错误 - 请输入您自己的答案。如果您在这里花费任何时间,您会看到一个问题有多个答案。编辑确实是为了修复拼写和语法。如果您的观点是正确的,那么每个问题只有一个答案。以后不要改变我的答案。我不想你歪曲我。如果我的回答是“错误的”,让我从反对票中找出答案。
    【解决方案2】:

    您提到易用性 - 我认为您现在尝试解决的案例是“不太容易使用”的一个例子:)。

    我会坚持 MySQL 中的默认日期格式

    yyyy-mm-dd h:i:s //php's date formatting 
    

    并使用 DATE 字段。这将解决搜索/插入日期问题。虽然您需要更改一些代码来修复显示日期。

    【讨论】:

      【解决方案3】:

      您的date 字段类型是什么?为了正确使用它应该是datedatetime,并且看到你拥有的东西看起来你将dates 存储在一个varchar 中。我说的对吗?

      这也有好处,你可以添加索引,然后通过mysql在范围内搜索

      我的建议是获取用户输入的任何内容。然后将其转换为mysql日期格式进行搜索

      类似:

      <?php
      
      $mysql_time = date('Y-m-d H:m:s' strotime('05/11/2008'));
      
      $query = sprintf("SELECT * FROM sometable < '%s'", $mysql_time);
      
      ?>
      

      【讨论】:

        【解决方案4】:

        尝试使用格式“yyyyMMdd”进行搜索,MySql 肯定会识别它。

        【讨论】:

        • 即使以我目前存储值的方式?
        猜你喜欢
        • 2016-01-02
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 2020-02-24
        • 1970-01-01
        • 1970-01-01
        • 2010-09-22
        相关资源
        最近更新 更多