在oracle中根據給出的兩個時間,查詢出這一時間段的資料。
有幾個方法:
1.
select * from tablename where
time>= to_date(' "+begintime+" ','yyyy-mm-dd') and
time
<=to_date("+endtime+"
','yyyy-mm-dd')
這一方法包括begintime,不包括endtime,要是想包括endtime,可以將endtime往後推一天,我用的是字串拼接的方式:
string end=enddate.split("-");
if(end[1] == "1" || end[1] == "3" || end[1] == "5" || end[1] == "7" || end[1] == "8" || end[1] == "10" || end[1] == "12")
}else if(end[1] == "4" || end[1] == "6" || end[1] == "9" || end[1] == "11")
}else if(end[1] == "2")
}else if(end00%400==0)
}else
}
}int end22=integer.parseint(end[2]);
end22+=1;
end[2]=integer.tostring(end22);
enddate=end
``0]+"-"+end[1]+"-"+end[2];
因為加了閏年判斷和是否是當月最後一天的判斷所以比較繁瑣,但是中心思想就是把獲取的時間字串根據分隔符拆分成陣列,然後天數加一,如果是當月最後一天德華,月數加一。
2.
select * from tablename where to_char(time,'yyyy-mm-dd')>='"+begintime+"'
and to_char(time,'yyyy-mm-dd')<='"+endtime+"'
這一方法包含begintime和endtime。 mysql根據時間範圍查詢
select from bank statistics where day time between 2018 06 01 and 2018 06 10 根據兩端範圍查詢 select from bank statistics where day time 2018 05 24 查詢某一天的 sel...
oracle 時間範圍查詢
時間範圍查詢 timestamp 時間查詢select from orders o where o.create time to timestamp 2018 01 21 10 22 58.714000 yyyy mm dd hh24 mi ss.ff and o.create time to ti...
實際專案 根據時間範圍查詢優化
根據所傳條件在sql中新增時間範圍 and stationdatee detailreportpojo.getenddate 需要兩個時間欄位都要有索引才得以快速查詢,資料量大的情況下並不是好辦法,一方面是表結構大,但是建立索引最好不要超過一定數量,所以盡量不要將索引浪費在多餘的字段上面,可以使用以...