0

如何将 MySQL 查询日期格式化为这种格式?目前我的变量是 2013 年 8 月 13 日,但在我的数据库中是 2013 年 8 月 13 日。

$sql_stmt = "select * from abs where myname = 'david' and date between '$start' and '$end' order by log_id;";
4

4 回答 4

1

尝试:

$sql_stmt = "select * from abs where myname = 'david' and date between STR_TO_DATE('$start', '%m/%d/%Y') and STR_TO_DATE('$end', '%m/%d/%Y') order by log_id;";
于 2013-05-03T05:21:53.660 回答
0

请参阅此处的日期格式部分中的示例

更新你几乎可以格式化它,检查这个SQLFIDDLE

于 2013-05-03T04:52:05.160 回答
0

您可以将输出字符串转换为可变日期格式,然后进行比较。

$sql_stmt = "select *,DATE_FORMAT(date, '%d/%c/%Y') as date1 
from abs 
where 
myname = 'david' 
and date1 between '$start' and '$end' 
order by log_id;";
于 2013-05-03T05:28:25.293 回答
0

我们有

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
        -> 'Saturday October 1997'

我们可以将您的解决方案调整为

$sql_stmt = "select * from abs where myname = 'david' 
          and DATE_FORMAT(date, '%W %M %Y') 
          between STR_TO_DATE('$start', '%m/%d/%Y') 
          and STR_TO_DATE('$end', '%m/%d/%Y') order by log_id;";
于 2013-05-03T05:29:13.143 回答