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

mysql seleccione marcas de tiempo entre a y b devolviendo todas o 0 marcas de tiempo

MySQL espera literales de fecha , no enteros:

SELECT *
FROM   table
WHERE  DATE(timestamp_field) BETWEEN '2012-03-01' AND '2012-05-04'

Para usar números enteros (asumiendo que son segundos desde la época de UNIX), primero conviértalos usando MySQL FROM_UNIXTIME() función:

SELECT *
FROM   table
WHERE  timestamp_field BETWEEN FROM_UNIXTIME(1330560000)
                           AND FROM_UNIXTIME(1336170420)

O use UNIX_TIMESTAMP() para convertir su columna a su representación UNIX:

SELECT *
FROM   table
WHERE  UNIX_TIMESTAMP(timestamp_field) BETWEEN 1330560000 AND 1336170420