MySQL очаква литерали за дата , а не цели числа:
SELECT *
FROM table
WHERE DATE(timestamp_field) BETWEEN '2012-03-01' AND '2012-05-04'
За да използвате цели числа (ако приемем, че са секунди от епохата на UNIX), първо ги преобразувайте с помощта на FROM_UNIXTIME()
функция:
SELECT *
FROM table
WHERE timestamp_field BETWEEN FROM_UNIXTIME(1330560000)
AND FROM_UNIXTIME(1336170420)
Или използвайте UNIX_TIMESTAMP()
за да конвертирате колоната си в нейното UNIX представяне:
SELECT *
FROM table
WHERE UNIX_TIMESTAMP(timestamp_field) BETWEEN 1330560000 AND 1336170420