最近在用oracle的過程中用到了對blob欄位模糊查詢的問題,對oracle來說,我並不是高手,找了很多的資料終於能夠查出來了。
blob欄位直接用 select * from table_name where column like 『%%』查詢的時候是不能實現的 ,主要是字段型別不符,就想到了字段轉換成varchar2型別,然後再進行查詢
select * from table_name where utl_raw.cast_to_varchar2(column) like 『%oracle%』; 但是卻報如下的錯誤:
在這之後作了修改:
select * from table_name where utl_raw.cast_to_varchar2(dbms_lob.substr(column,2000,1)) like '%oracle%' ;
這樣之後就可以實現查詢了,但是這樣的查詢總是有些不妥,在網上看到有dbms_lob.instr這個函式,可以直接實現查詢功能。參考中所介紹的具體用法,修改如下:
select * from table_name where dbms_lob.instr(column,utl_raw.cast_to_raw('所要匹配的內容'),1,1)<>0;
這樣就可以順利的查詢出來了。
以上只是自己做了個簡單的處理,相信肯定有更好的方法,希望大家幫忙,但是感覺dbms_lob函式下的方法真的很好用。
Oracle中的BLOB和CLOB欄位
一般為了更好的管理oracle資料庫,通常像 檔案 等資訊就用blob欄位來儲存,先將檔案轉為二進位制再儲存進去。而像文件或者是較長的文字,就用clob儲存,這樣對以後的查詢更新儲存等操作都提供很大的方便。1.blob blob全稱為二進位制大型物件 binary large object 它用於儲...
對oracle中BLOB欄位讀寫的總結
oracle 中的blob 也到網上查了不少資料,感覺網上的資料都或多或少有些錯務,最後通過自己的反覆測試總算解決了,解決的過程中,還真有不少收穫,這裡還是寫下來,和朋友們分享一下!1.個人感覺對於 mysql 中blob 型別的字段 sql server 中的image 型別的字段,oracle ...
對oracle中BLOB欄位讀寫的總結
對於oracle中的寫 上傳檔案 第一步 先向blob欄位中先插入乙個空的blob值,用empty blob 如 insert into webfiles path,filename,username,job no,orderfile values empty blob 第二步再用select fo...