1. 程式人生 > >mysql between 開始日期 AND 結束日期的問題

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