[英]Querying Oracle Clob datatype
如何在表中查詢Clob類型的列? 我需要查詢表中的某個字符串(除其他條件外-我可能需要使用Case語句),我的最初想法是查詢子查詢中的數據,然后使用Case中的匹配項頂部查詢。 但是由於不確定如何在Select中查詢Clob類型數據,我現在陷入困境!
編輯:表中的clob列是一組段落,而我嘗試搜索的字符串可能在該段落的任何位置。 我不確定那塊衣服的大小。
在許多方面,您使用“查詢列”(類型奇特!)類型varchar2的相同方式。
表結構:
SQL> describe t
Name Null? Type
------------------------- -------- --------------------------------------------
COL1 VARCHAR2(20)
COL2 CLOB
表格內容:
SQL> select * from t;
COL1 COL2
-------------------- -------------------------------------------------------
abc afdreed
azx; ffare21
查詢表(CLOB列上的where子句):
SQL> select * from t where col2 like '%dre%';
COL1 COL2
-------------------- -----------------------------------------------------------
abc afdreed
希望這個例子可以清楚地說明我要解釋的內容。
SET SQLBL ON;
SET DEFINE OFF;
CREATE TABLE CLOB_TEST
(
clob_in CLOB
);
INSERT
INTO CLOB_TEST VALUES
(
'I am working as a DBA and senior database resource in L&T Infotech in Pune India'
);
SELECT DBMS_LOB.SUBSTR(CLOB_IN,3000) ot FROM CLOB_TEST;
-----------------------------OUTPUT------------------------------------------
OT
I am working as a DBA and senior database resource in L&T Infotech in Pune India
-----------------------------OUTPUT------------------------------------------
我建議您看一下DBMS_LOB軟件包( link )。 它具有一些對使用LOB有用的功能
例如:
您也可以嘗試使用字符串函數。 它們中的一些能夠處理不大的lob文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.