tcversions数据表中
creation_ts字段类型:是日期字符串应该转变为时间戳
mysql from_unixtime()函数:php提供值为时间戳(1502003361),mysql中存储为日期格式(2017-08-28)如何进行sql语句中的计算或比较
解决方案:以上两种就是在,进行时间比较或者计算时,使用mysql中的from_unixtime()函数,把整数型时间戳转换为日期格式,在通过日期格式在数据表中查询
上表中creation_ts字段值是日期格式
select a.author_id from tcversions a,(select max(id) as id,author_id from tcversions group by author_id) b where a.creation_ts >=1502003361 and a.creation_ts <= 1504681761 and a.id=b.id and a.author_id=b.author_id
php专递过来的sql语句中 a.creation_ts >=1502003361 and a.creation_ts <= 1504681761进行比较的日期是10位时间戳(整形),这就没法直接查询
改造办法:a.creation_ts >=from_unixtime(1502003361) and a.creation_ts <= from_unixtime(1504681761) ,就是使用了mysql中的from_unixtime()函数,先把时间戳转换为日期格式(字符串)在进行比较计算
改造后语句:
select a.author_id from tcversions a,(select max(id) as id,author_id from tcversions group by author_id) b where a.creation_ts >=from_unixtime(1502003361) and a.creation_ts <= from_unixtime(1504681761) and a.id=b.id and a.author_id=b.author_id