我需要also.So我使用这样大于号和小于在我的SQL
"SELECT * FROM events WHERE start_date <= '2016-01-21%' AND start_date >= '2016-01-19%'"
查询到的数据获取从2016年1月19日至2016年1月21日,包括日期,但我只得到2016-01-19,2016-01-20数据,而不是2016-01-21。如果在查询中有任何错误,请分享答案。
我需要also.So我使用这样大于号和小于在我的SQL
"SELECT * FROM events WHERE start_date <= '2016-01-21%' AND start_date >= '2016-01-19%'"
查询到的数据获取从2016年1月19日至2016年1月21日,包括日期,但我只得到2016-01-19,2016-01-20数据,而不是2016-01-21。如果在查询中有任何错误,请分享答案。
首先请确保数据库提交的 “起始日期”类型是日期时间我们也需要格式化日期时间迄今为止
the tr y指向这个
SELECT * FROM events WHERE (DATE_FORMAT(start_date, '%Y-%m-%d') >= '2016-01-19' AND DATE_FORMAT(start_date, '%Y-%m-%d') <= '2016-01-21')
start_date的数据类型是datetime.I用过ur查询但它返回与我的查询相同。 –
它只返回19和20数据,没有显示21数据 –
请检查现在的答案它会工作 –
使用between
SELECT *
FROM events
WHERE start_date BETWEEN date(2016-01-21 00:00:00) AND date(2016-01-19 23:59:59);
您可以使用之间,但使用它时,第一个日期必须小于第二牢记。对不起,第一个答案说的是相反的。
SELECT *
FROM events
WHERE start_date
BETWEEN date(2016-01-19 00:00:00)
AND date(2016-01-21 23:59:59)
使用'between'关键字为MySQL –