问题:
一个用户在自然天一天只能投票一次。
需要查询出当前用户的投票时间是否在当天。
解决方法有:
1. 将unix时间戳转换成date格式进行比较
SELECT
from_unixtime(`time`) as feedtime, bid, uid, `type`
FROM feeds
where DATE_FORMAT(FROM_UNIXTIME(`time`),'%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')
order by `time` desc
2. 将当天时间转换成unix时间戳进行比较
SELECT * FROM feeds where `time` > unix_timestamp(CURDATE()) and `time` < unix_timestamp(CURDATE())+86400 order by `time` desc
相比较,第二种方法的效率会更高一些。
因为time如果不是索引,会消耗运算的效率。