sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo redondear un DateTime en MySQL?

Es un poco desagradable cuando lo haces con tipos de datos de fecha y hora; un buen candidato para una función almacenada.

DATE_SUB(DATE_SUB(time, INTERVAL MOD(MINUTE(time),5) MINUTE ), 
         INTERVAL SECOND(time) SECOND)

Es más fácil cuando usa marcas de tiempo UNIXTIME, pero eso está limitado a un rango de fechas de 1970 a 2038.

FROM_UNIXTIME(UNIX_TIMESTAMP(time) - MOD(UNIX_TIMESTAMP(time),300))

Buena suerte.