Mysql
 sql >> Database >  >> RDS >> Mysql

mysql seleziona timestamp tra aeb restituendo tutti o 0 timestamp

MySQL si aspetta valori di data , non interi:

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

Per utilizzare numeri interi (supponendo che siano secondi dall'epoca UNIX), convertili prima utilizzando FROM_UNIXTIME() funzione:

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

Oppure usa UNIX_TIMESTAMP() per convertire la tua colonna nella sua rappresentazione UNIX:

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