在mysql中如何选择没有秒数的日期和时间?

在mysql中如何选择没有秒数的日期和时间?,mysql,sql,datetime,Mysql,Sql,Datetime,在mysql中,如何从表中具有日期值的列中选择没有秒的日期和时间? “YYYY-MM-DD HH:MM:SS”应为“YYYY-MM-DD HH:MM”正确的解决方案是零秒-并保留数据类型: SELECT `datetime` - INTERVAL EXTRACT(SECOND FROM `datetime`) SECOND FROM `some table` 如果datetime列包含微秒,则使用此变量: SELECT `datetime` - INTERVAL EXTRACT(SECOND_

在mysql中,如何从表中具有日期值的列中选择没有秒的日期和时间?
“YYYY-MM-DD HH:MM:SS”应为“YYYY-MM-DD HH:MM”

正确的解决方案是零秒-并保留数据类型:

SELECT `datetime` - INTERVAL EXTRACT(SECOND FROM `datetime`) SECOND
FROM `some table`
如果datetime列包含微秒,则使用此变量:

SELECT `datetime` - INTERVAL EXTRACT(SECOND_MICROSECOND FROM `datetime`) SECOND_MICROSECOND
FROM `some table`


理论上,它应该比使用日期格式函数的示例更快。

@tfont:是的,确实如此:)-对于更灵活的格式,如截断为分钟、小时等。返回2011-July-16 22:23,这可能是不需要的。最好在“2011-07-16 22:23”中使用“%Y-%m-%d%H:%i”,小写为%m。您能解释一下为什么它应该更快吗?@nico使用日期算法在理论上应该比日期格式解析函数更快。这并不能回答我的问题-“应该更快”仍然很模糊
SELECT `datetime` - INTERVAL EXTRACT(SECOND FROM `datetime`) SECOND
FROM `some table`
SELECT `datetime` - INTERVAL EXTRACT(SECOND_MICROSECOND FROM `datetime`) SECOND_MICROSECOND
FROM `some table`