尝试这样选择时间戳返回所有或0时间戳
select * from table where timestamp_field between 1330560000 and 1336170420
这
select * from table where timestamp_field >=1330560000 and timestamp_field<=1336170420
两个返回结果为空。
但这
select * from table where timestamp_field >= 1330560000
返回所有行
为了让事情更荒唐
select * from table where timestamp_field <= 1336170420
返回结果为空。
当然,还有前存在时间戳值,之间以及之后1336170420 = 4.may 2012和1330560000 = 1.march 2012
时间戳值的确定,至少phpmyadmin的显示正确的(人类可读的)日期时间值。 我通过解析字符串创建时间戳,与
UPDATE table SET timestamp_field = STR_TO_DATE(timestamp_string, '%d.%m.%Y')
想我失去了一些东西,但无法找到什么!
是否将您的时间戳存储为int或varchar? – Rooster
作为时间戳。猜测它是int – Prvul
尝试使用phpmyadmin中的结构选项卡将类型更改为int,除非您依靠mysql生成当前时间戳,而您并不需要指定时间戳作为数据类型 – Rooster