在 MySQL 中将 DATETIME 转换为 DATE
使用数据库时,通常需要按日期对记录进行分组。但是,如果数据库仅存储 DATETIME 值而不是 DATE 值,则在执行这些操作时可能会遇到挑战。
为了解决此问题,MySQL 提供了多个允许您修改 DATETIME 值的函数。 DATE() 就是这样的函数之一,它接受 DATETIME 参数并仅返回日期部分,不包括时间。这对于根据日期对记录进行分组非常有用。
例如,考虑以下查询:
select * from follow_queue group by follow_date cast follow_date as date
此查询按 follow_date 列对记录进行分组。但是,由于 follow_date 包含 DATETIME 值,因此需要将其转换为 DATE 才能仅提取日期部分。这是使用 CAST() 函数完成的,如查询中所示。
但是,需要注意的是,问题陈述中提供的查询无效。为了获得所需的结果,语法应更正为:
select * from follow_queue group by DATE(follow_date)
此查询直接使用 DATE() 函数从 follow_date 列中提取日期部分。 DATE() 函数返回一个 DATE 值,可用于分组操作。通过使用此函数,即使数据库只存储 DATETIME 值,您也可以获得按日期分组记录的预期结果。
以上是当只有 DATETIME 值存在时,如何在 MySQL 中按日期对记录进行分组?的详细内容。更多信息请关注PHP中文网其他相关文章!