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)計(jì) "輸入時間" 的那一整天 的數(shù)據(jù),就需要使用它(如果用sql),因?yàn)檩斎氲臅r間是 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) 運(yùn)算得到是 2009-04-10 19:25:30
再經(jīng)過 DATE( DATE_ADD(:date,INTERVAL 1 DAY) ) 運(yùn)算得到的是 2009-04-10 00:00:00
所以 sql 中是求 createTime 在 2009-04-10 00:00:00 與 2009-04-09 00:00:00 之間的數(shù)據(jù)總數(shù)
這是在sql中實(shí)現(xiàn)日期的加減,也可以用java方法來實(shí)現(xiàn),然后作為參數(shù)輸入sql中即可。