mysql between 開始日期 AND 結束日期的問題
計算 between and 日期 修改
BETWEEN str_to_date('2018-01-16','%Y-%m-%d %h:%i:%s') AND str_to_date('2018-01-27 %h:%i:%s','%Y-%m-%d')
因為時分秒是: 00:00:00所以可以取到 2018-01-27 00:00:00 日期的資料,
如果結束日期沒有2018-01-27 00:00:00 BETWEEN ‘2018-01-22’AND '2018-01-27' 是不會取到 2018-01-27號的資料的。
總結:結束時間2018-01-27 沒有值是:2018-01-27 00:00:00 則
BETWEEN ‘2018-01-22’AND '2018-01-27' 取不到2018-01-27 的資料, 即結束日期的時間分割是按2018-01-27 00:00:00 來分隔的,
取數範圍是從2018-01-22 00:00:00 到 2018-01-27 00:00:00 之間的資料, 2018-01-27 00:00:01之後的資料不會取到。
留意:
如果時間儲存的是毫秒數: 那麼要注意這個毫秒數轉為 標準格式日期後, 是否 時分秒都為 0,
例子: 1517039476 轉為日期
str_to_date(from_unixtime(a.REPORTTIME1,'%Y-%m-%d'),'%Y-%m-%d %h:%i:%s') AS reportTime22
2018-01-27 1517039476 2018-01-27 00:00:00
2018-01-26 1516951167 2018-01-26 00:00:00