新聞中心
以下的文章主要介紹的是如何正確的使用Oracle Instr()和decode()函數(shù)來進行多條件的組合查詢,在相關系統(tǒng)中我們經(jīng)常遇到要處理的多條件組合查詢的相關情況,使用instr()和decode()函數(shù)的實現(xiàn)方法。

安龍ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
下面先說明一下instr()的功能和語法:(函數(shù)的語法是從處得到的,相當清晰明了:)
- In Oracle/PLSQL, the instr function returns the location of a substring in a string.
- The syntax for the instr function is:
- instr (string1, string2, [start_position], [nth_appearance])
- string1 is the string to search.
- string2 is the substring to search for in string1.
- start_position is the position in string1 where the search will
start. This argument is optional. If omitted, it defaults to 1.
The first position in the string is 1. If the start_position is negative,
the function counts back start_position number of characters from
the end of string1 and then searches towards the beginning of string1.- nth_appearance is the nth appearance of string2. This is optional. If omiited, it defaults to 1.
再說明一下decode()的功能和語法:
- In Oracle/PLSQL, the decode function has the functionality of an IF-THEN-ELSE statement.
- The syntax for the decode function is:
- decode ( expression , search , result [, search , result]... [, default] )
- expression is the value to compare.
- search is the value that is compared against expression.
- result is the value returned, if expression is equal to search.
- default is optional. If no matches are found, the decode will return default.
If default is omitted, then the decode statement will return null (if no matches are found).
綜合使用得到的SQL語句如下:
select e.到達日期,
e.角色名,
d.單據(jù)標題,
d.單據(jù)編號,
e.節(jié)點編號,
e.處理動作,
e.處理日期,
b.流程實例編號
from gzl_流程類型a,
gzl_流程實例b,
gzl_流程定義c,
dj_單據(jù) d,
gzl_流程流轉狀態(tài) e
where a.流程類型編號 = c.流程類型編號 and e.處理標記 = '是'
and e.用戶id = 'tetdmis' and b.流程定義編號 = c.流程定義編號
and b.活動編號 = d.單據(jù)編號 and c.流程定義編號 = b.流程定義編號
and e.流程實例編號 = b.流程實例編號
and instr(decode(:流程類型條件, '-1', a.流程類型編號, :流程類型條件), a.流程類型編號) > 0
and (to_char(e.處理日期, 'yyyy-mm-dd') between :開始日期 and :結束日期)
and instr(decode(:節(jié)點名稱條件, '-1', e.處理動作, :節(jié)點名稱條件),
e.處理動作) > 0
以上的相關內(nèi)容就是對使用Oracle Instr()與decode()函數(shù)進行多條件組合查詢,系統(tǒng)中遇到了要處理多條件組合查詢的情況,使用instr()和decode()函數(shù)的實現(xiàn)方法。的介紹,望你能有所收獲。
【編輯推薦】
- 對Oracle數(shù)據(jù)字典的文檔描述
- Oracle to_char的用法的描述
- Oracle struts2中相關日期輸入顯示某些問題的方案
- Oracle 11g調(diào)用相關函數(shù)的5種方法
- 調(diào)用Oracle procedure在pl/sql中的操作
本文名稱:使用OracleInstr()函數(shù)進行多條件組合查詢方案
鏈接地址:http://www.dlmjj.cn/article/djgdsig.html


咨詢
建站咨詢
