MySQL oczekuje literały daty , a nie całkowite:
SELECT *
FROM table
WHERE DATE(timestamp_field) BETWEEN '2012-03-01' AND '2012-05-04'
Aby użyć liczb całkowitych (zakładając, że są to sekundy od epoki UNIX), najpierw przekonwertuj je za pomocą FROM_UNIXTIME()
funkcja:
SELECT *
FROM table
WHERE timestamp_field BETWEEN FROM_UNIXTIME(1330560000)
AND FROM_UNIXTIME(1336170420)
Lub użyj UNIX_TIMESTAMP()
aby przekonwertować kolumnę na jej reprezentację UNIX:
SELECT *
FROM table
WHERE UNIX_TIMESTAMP(timestamp_field) BETWEEN 1330560000 AND 1336170420