mysql 中需要日期的加減,可以使用函數(shù) 加"DATE_ADD",減"DATE_SUB " 例如: DATE_ADD(CURTIME(),INTERVAL 1 DAY) 當(dāng)前時間加一天 DATE_SUB(CURTIME(),INTERVAL 1 DAY) 當(dāng)前時間減一天
如果你從 YYYY-MM-DD HH:MM:SS 到 YYYY-MM-DD 可以使用 DATE(CURTIME()) 例如 你想統(tǒng)計 "輸入時間" 的那一整天 的數(shù)據(jù),就需要使用它(如果用sql),因為輸入的時間是 YYYY-MM-DD HH:MM:SS 格式的,你需要的是 YYYY-MM-DD 00:00:00 到 YYYY-MM-DD +1 00:00:00 這段時間的數(shù)據(jù)。
select count(*) from table as vo where DATE(DATE_ADD(:date,INTERVAL 1 DAY)) > createTime and DATE(:date) < createTime
紅色是輸入的時間參數(shù),這段sql 反映的是 table表中 在"輸入的時間"當(dāng)天創(chuàng)建的數(shù)據(jù)的總數(shù)。 :date = 2009-04-09 19:25:30
table表中 id name createTime 0 a 2009-04-08 15:25:30 1 b 2009-04-09 16:25:30 2 c 2009-04-09 17:25:30 3 d 2009-04-09 18:25:30
經(jīng)過 DATE_ADD(:date,INTERVAL 1 DAY) 運算得到是 2009-04-10 19:25:30 再經(jīng)過 DATE( DATE_ADD(:date,INTERVAL 1 DAY) ) 運算得到的是 2009-04-10 00:00:00
所以 sql 中是求 createTime 在 2009-04-10 00:00:00 與 2009-04-09 00:00:00 之間的數(shù)據(jù)總數(shù)
這是在sql中實現(xiàn)日期的加減,也可以用java方法來實現(xiàn),然后作為參數(shù)輸入sql中即可。
|