對于一個日期欄位(2016-11-11 15:00:00),查詢該欄位大于大于某個范圍區間,你們一般怎么查?
注:如起止時間為當天,希望查處當天的資料
我寫了三種方式,都覺得不太好...哈哈
方式一
AND CM.DELIVERY_DATE >= trunc(to_date('20140101', 'yyyymmdd'))
AND trunc(CM.DELIVERY_DATE) < = to_date('20141230', 'yyyymmdd')
方式二:
AND to_char(CM.DELIVERY_DATE, 'yyyyMMdd') >= '20141219'
AND to_char(CM.DELIVERY_DATE, 'yyyyMMdd') < = '20141219'
方式三:
AND CM.DELIVERY_DATE >= to_date('20141219'||'00:00:00', 'yyyymmdd hh24:mi:ss')
AND trunc(CM.DELIVERY_DATE) < = to_date('20141219'||'23:59:59', 'yyyymmdd hh24:mi:ss')
你們一般用那種,還是其他方式
uj5u.com熱心網友回復:
AND CM.DELIVERY_DATE >= trunc(to_date('20140101', 'yyyymmdd'))AND CM.DELIVERY_DATE < to_date('20141230', 'yyyymmdd') +1
uj5u.com熱心網友回復:
1,某一天trunc(CM.DELIVERY_DATE) = '01-jan-14'
2,期間
trunc(CM.DELIVERY_DATE) between '01-jan-14' and '31-dec-14'
自由發揮吧。
uj5u.com熱心網友回復:
盡量避免在列上做計算,比如 trunc 、to_char 這些函式;uj5u.com熱心網友回復:
可以采用一樓的方式,這樣方便使用索引你所列出的三種方式,很容易造成索引無法使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/113609.html
標籤:開發
上一篇:存盤程序例外無法判斷
