Oracle資料庫日期過濾方法效能比較

2021-12-30 11:59:22 字數 686 閱讀 2491

方法

一、通過to_char將日期轉換成字串進行比較

to_char(cr.contractenddate, 'yyyy-mm-dd') >= '2014-11-13'

and to_char(cr.contractenddate, 'yyyy-mm-dd') <= '2015-11-19'

耗時:0.171s

方法

二、通過to_date將字串轉換成日期進行比較

cr.contractenddate >= to_date('2014-11-13', 'yyyy-mm-dd')

and cr.contractenddate <= to_date('2015-11-19', 'yyyy-mm-dd')

耗時:0.093s

方法

三、通過資料庫關鍵字between and 進行比較

cr.contractenddate

between to_date('2014-11-13', 'yyyy-mm-dd') and to_date('2015-11-19', 'yyyy-mm-dd')

耗時:0.078s

總結:方法一耗時體現在需要逐個比較字串的每個字元;

方法二耗時體現= 和<=;

推薦使用方法三

Oracle資料庫日期過濾方法效能比較

在開發sql時,過濾日期段是經常遇到的情況,如何高效的過濾出日期段?本文通過實驗進行驗證 方法 一 通過to char將日期轉換成字串進行比較 to char cr.contractenddate,yyyy mm dd 2014 11 13 and to char cr.contractenddat...

ORACLE資料庫日期型別

sysdate 返回作業系統中的當前日期和時間。current date 會話的時區中的系統日期 systimestamp 報告timestamp資料型別格式的系統日期 add months sysdate,6 新增月份 add months sysdate,6 減少月份 months betwee...

oracle資料庫 日期函式用法

oracle資料庫 日期函式用法 oracle trunc 函式的用法 日期 1.select trunc sysdate from dual 2013 01 06 今天的日期為2013 01 06 2.select trunc sysdate,mm from dual 2013 01 01 返回當...