Sql查询需要
答
加为好,你可以使用日期函数:
SELECT * FROM table WHERE YEAR(FROM_UNIXTIME(timestamp_field)) = YEAR(NOW()) AND MONTH(FROM_UNIXTIME(timestamp_field)) = MONTH(NOW())
答
$begin = strtotime(date('m/01/Y'));
$end = strtotime(date('m/t/Y'));
$sql = "SELECT * FROM table WHERE date >= $begin AND date <= $end"
这可能是最简单和最快的解决方案。使用像FROM_UNIXTIME()
这样的SQL函数可以工作,但它可能会导致性能问题。
我很好奇你为什么不把日期存储为时间戳列? – John
你可以尝试这样的事:[*.com - 时间戳-AS-INT-现场查询性能] [1] [1]:http://*.com/questions/2738444/ timestamp-as-int-field-query-performance – Mark
@john - “时间戳记数据类型只是一个递增数字,并不保留日期或时间。” - http://msdn.microsoft.com/en-us/library/ms182776(v=sql.90).aspx – Tony