sql 模糊查詢
逗號,在sql中like中不需要轉義,但是如果
在sql中的某個欄位值用「,」分隔資料,
需要獲取資料的時候直接把「,」拆分成資料,獲得乙個資料的list。
例如:需要查詢某欄位是否包含乙個值,
111是否存在於1111,2111,1112,1121,1113這個欄位中 。
因為根據「,」逗號分開,要求的答案是:不在字段中。
用傳統的like '%111%',顯然不合適,這樣雖然111不存在但是依然能查到該條記錄。
所以應該用以下語句實現:
select * from table where ','+columa+',' like '%,111,%'。
實際就是把字段填上乙個逗號然後在比較。如果你的字段是用別的分隔符,同理可得。
最近又遇到這樣的問題:
乙份合同流轉中需要選擇多個業務處理部門的code ,在合同表裡有這個字段 business_dept_id
這個欄位的資料儲存是這樣的 205000000;206000000;207000000;208000000;
在合同查詢的時候需要匹配 選擇的業務部門
使用下面語句 用的是db2資料庫
select c.business_dept_id from cmm_contract c where c.business_dept_id||';' like '%206000000;%'
雖然違反了第三正規化不過查詢使用還是很方便的 如果因此再建張表的話那會很麻煩的
like模糊查詢
逗號,在sql中like中不需要轉義,但是如果 在sql中的某個欄位值用 分隔資料,需要獲取資料的時候直接把 拆分成資料,獲得乙個資料的list。例如 需要查詢某欄位是否包含乙個值,111是否存在於1111,2111,1112,1121,1113這個欄位中 因為根據 逗號分開,要求的答案是 不在字段...
Oracle 模糊查詢like
在這個資訊量劇增的時代,如何幫助使用者從海量資料中檢索到想要的資料,模糊查詢是必不可少的。那麼在 中模糊查詢是如何實現的呢?一 我們可以在where子句中使用like關鍵字來達到oracle模糊查詢的效果 在where子句中,可以對datetime char varchar欄位型別的列用like關鍵...
10 模糊查詢(like)
假設我們要在中國的省級行政區域中找出四個直轄市,我們如何去做?因為4個直轄市是以 市 結尾的,這時就用模糊查詢來匹配。like操作符 like操作符通常與萬用字元結合在一起使用。萬用字元分兩種,萬用字元與 萬用字元。1.萬用字元 表示任何字元出現的任意次數。2.萬用字元 下劃線萬用字元只能匹配單個字...