Mysql 修改SQL查询中的日期格式
我希望在mysql数据库上修改此SQL查询Mysql 修改SQL查询中的日期格式,mysql,sql,date,Mysql,Sql,Date,我希望在mysql数据库上修改此SQL查询 SELECT *, COUNT(*) as TotalValueCount FROM wp_rg_lead INNER JOIN wp_rg_lead_detail ON wp_rg_lead.id=wp_rg_lead_detail.lead_id WHERE wp_rg_lead.form_id = '47' AND cast(date_created as date) >= current
SELECT *, COUNT(*) as TotalValueCount
FROM
wp_rg_lead
INNER JOIN wp_rg_lead_detail ON
wp_rg_lead.id=wp_rg_lead_detail.lead_id
WHERE wp_rg_lead.form_id = '47'
AND cast(date_created as date) >= current_date - interval '7' day
AND field_number = '18'
GROUP BY value,date_created
因此,它只返回日期,而不显示时间,而不是将“当前日期”格式设置为“2014-11-12 20:34:12”。我已经查看了格式函数,但看不到如何在这个实例中应用它我怀疑日期算法没有达到您想要的效果。您可以尝试:
cast(date_created as date) >= date_sub(current_date, interval 7 day);
编辑:
如果确实需要当前日期/时间的时间部分,请使用now()
或current\u TIMESTAMP
:
cast(date_created as date) >= date_sub(now(), interval 7 day);
您可以将当前_日期包装到date()函数中:
例如日期(当前日期),这将从任何日期时间中提取日期,并对其进行计算。您选择的每一列(*)都带有默认的给定列名my friend。如果要更改特定列的输出格式,则需要指定该列 以下是实现此目的的语法: 从myTableName中选择日期格式(dt,'%Y-%m-%d%k:%i:%s')作为
DATE
强>
因此,不要选择*,而是输入列名并指定所需的格式,即:
SELECT column1, DATE_FORMAT(**date_column**,'%Y-%m-%d %k:%i:%s') AS `Date` ,
COUNT(*) as TotalValueCount
FROM
wp_rg_lead
INNER JOIN wp_rg_lead_detail ON
wp_rg_lead.id=wp_rg_lead_detail.lead_id
WHERE wp_rg_lead.form_id = '47'
AND cast(date_created as date) >= current_date - interval '7' day
AND field_number = '18'
GROUP BY value,date_created
希望有帮助 你的问题是什么?我也这么想,但上面的语法似乎有效。是否有版本的now()会返回日期组件?@fightstarr20<代码>当前日期返回日期组件。但是,在MySQL的一些奇怪特性中,它们以字符串或数字的形式返回,而不是以日期的形式返回。这有时会导致它们上的算术返回异常值,这就是建议使用的方法
date\u sub()
和date\u add()
。阅读Gordon的答案后,请误读问题。。忽略此项:)