以前模糊查詢使用的是:like
例如(schema kmh_qc):
select v.unitprice, v.unit, v.storage, v.stationeryname, v.stationeryid,
v.modelsize, v.classname, v.classid
from v_wjqc_storage v
where v.stationeryname like '%'||#stationeryname#||'%';
問題:當傳遞進去的stationeryname值是'%'或者'_'時,它會查出所有資訊。
解決方案:條件換為:instr(v.stationeryname,#stationeryname#) > 0
'_'通配乙個字元,'%'通配n個字元,這是sql的基本語法就有!
例如:傳入引數為"_成_",表達的意思是查詢三個字的,並且中間那個字是"成"的."_"可以出現多次,每出現一次代通配乙個字元.
傳入引數為"%成",表達的意思是最後個字是為"成"的.
傳入引數為"%成%",表達的意思是只要包含"成"的都顯示.
傳入引數為"成%",表達的意思是第乙個字是為"成"的.
同時"%"和"_"還可以配合使用:
例如:傳引數為"_成%"表示第二字為"成"的都顯示.
非常靈活,自由組合.
Oracle 模糊查詢
在where子句中,可以對datetime char varchar欄位型別的列用like子句配合萬用字元選取那些 很像.的資料記錄,以下是可使用的萬用字元 零或者多個字元 單一任何字元 下劃線 特殊字元 在某一範圍內的字元,如 0 9 或者 aeth 不在某範圍內的字元,如 0 9 或者 aeth...
oracle 模糊查詢
oracle10g以上支援正規表示式的函式主要有下面四個 1,regexp like 與like的功能相似 2,regexp instr 與instr的功能相似 3,regexp substr 與substr的功能相似 4,regexp replace 與replace的功能相似 posix 正規表...
oracle模糊查詢
執行資料庫查詢時,有完整查詢和模糊查詢之分。一般模糊語句格式如下 select 字段 from 表 where 某欄位 like 條件 其中,關於條件,sql提供了四種匹配模式 1 表示零個或多個字元。可以匹配任意型別和任意長度的字元,有些情況下若是中文,請使用兩個百分號 表示。比如 select ...