我有以下查询:
SELECT `report_table_cottage_rented`.`cottage_id` AS
report_table_cottage_rented___SP___cottage_id,
`report_table_cottage_rented`.`cottage_name` AS
report_table_cottage_rented___SP___cottage_name,
`report_table_cottage_rented`.`end_time` AS
report_table_cottage_rented___SP___end_time,
`report_table_cottage_rented`.`rented_days` AS
report_table_cottage_rented___SP___rented_days,
`report_table_cottage_rented`.`rented_weekend` AS
report_table_cottage_rented___SP___rented_weekend,
`report_table_cottage_rented`.`rented_weeks` AS
report_table_cottage_rented___SP___rented_weeks,
`report_table_cottage_rented`.`start_time` AS
report_table_cottage_rented___SP___start_time
FROM `report_table_cottage_rented`
WHERE 1 && ( `report_table_cottage_rented`.`start_time` BETWEEN
'2016-01-01' AND '2016-12-31 23:59:59' )
对我来说似乎很好。
上面的查询通过mysql cli(只有2个结果 - 错误)而不是通过phpmyadmin(5410结果 - 右)运行时给出不同的结果。
当查询通过php内置函数mysql_query()运行时,我得到了同样的错误答案。
我不知道出了什么问题。
答案 0 :(得分:0)
您的between
必须是:BETWEEN '2016-01-01 00:00:00' AND '2016-12-31 23:59:59'
。否则mysql将使用实际时间戳,该时间戳会随时间产生不同的结果。
BTW:请勿使用已弃用的mysql_*
API。使用mysqli_*
或PDO
。