2

据我所知,curdate() mysql 函数返回如下日期:

'YYYY-MM-DD'

我该怎么做呢?它会像这样选择它:

'YYYY/MM/DD'

我有这个查询:

$sql = mysql_query("SELECT SUM(value) from xeon_stats_clicks WHERE typ='4' AND curdate() - interval 7 day >= data ") or die(mysql_error());

虽然我在数据库中的“数据”行格式如下:“YYYY/MM/DD”

因此,如何更改查询以选择这样的日期格式?

4

2 回答 2

8

查看 MySQL 中的 DATE_FORMAT() 函数。你也可以发现这篇文章很有用

在您的情况下,查询看起来像这样:

SELECT SUM(value) from xeon_stats_clicks WHERE typ='4' AND date_format(curdate(), '%Y/%m/%d') - interval 7 day >= data 

编辑:我发布了一个更新的查询,但后来意识到没有什么真正改变,因为您询问了格式化数据列并且查询未选择此列。但无论如何,当您需要选择自定义格式的数据列时,您可以使用 date_format() 函数,例如:

SELECT DATE_FORMAT(data, '%Y/%m/%d') from xeon_stats_clicks
于 2013-09-26T11:47:50.637 回答
0

尝试:

SELECT SUM(value) from xeon_stats_clicks WHERE typ='4' AND curdate() - interval 7 day >= DATE_FORMAT(data,'%Y-%m-%d');
于 2013-09-26T11:51:37.373 回答