【问题标题】:format date column when select query选择查询时格式化日期列
【发布时间】:2013-01-09 05:41:23
【问题描述】:

这是我的日期数据; 从 : 09-01-2013 To : 22-01-2013 (格式是固定的)

如何将列日期send_date_time 格式化为d-m-Y .. 以下是我的查询:

$filter = "and DATE_FORMAT(send_date_time,'%d-%m-%Y') BETWEEN '08-01-2012 12:00:00' and '22-01-2013 12:00:00' ";

但是当我尝试使用这个(下面)查询时,上面的查询失败了,是的可以工作:

$filter = "and send_date_time BETWEEN '2013-01-08 12:00:00' and '2013-01-22 12:00:00' ";

完整查询

$get_transaction_history  = ("select * from `sms_sendlog` where store_id='".$store."' ".$filter." order by id desc"); 

列:

Colum Name : send_date_time
e.g  value : 2012-10-22 10:19:36

【问题讨论】:

    标签: php mysql select date-format


    【解决方案1】:

    应该是这样的

    $filter = "and send_date_time BETWEEN DATE_FORMAT('08-01-2012 12:00:00','%d-%m-%Y') AND DATE_FORMAT('22-01-2013 12:00:00','%d-%m-%Y') ";
    

    Read more

    【讨论】:

    • 谢谢@Dasun .. 我发现我们可以转换数据 first date('Y-m-d',strtotime($date_from));在输入查询之前..
    【解决方案2】:

    使用 STR_TO_DATE 函数而不是使用 DATE_FORMAT 函数。

    试试这个:

    $filter = "and send_date_time BETWEEN STR_TO_DATE('08-01-2012 12:00:00','%d-%m-%Y') AND STR_TO_DATE('22-01-2013 12:00:00','%d-%m-%Y') ";
    

    查看此链接MySQL Date Time Function: STR_TO_DATE

    【讨论】:

      猜你喜欢
      • 2014-11-30
      • 2020-11-17
      • 1970-01-01
      • 2012-03-06
      • 2014-05-08
      • 1970-01-01
      • 2012-05-25
      • 2021-02-10
      相关资源
      最近更新 更多