如何在表中查询clob类型的列?我需要在表中查询某个字符串的列(除了其他条件 - 我可能需要使用Case语句),我最初的想法是查询子查询中的数据,然后使用Case查找匹配顶级查询。但是我现在卡住了,因为我不确定如何在Select中查询clob类型数据!
编辑: 表中的clob列是段落的集合,我试图搜索的字符串可能位于段落中的任何位置。我不确定clob的大小。
答案 0 :(得分:0)
在许多方面,与“查询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
答案 1 :(得分:0)
希望这些例子清楚地说明我想要解释的内容。
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------------------------------------------
答案 2 :(得分:0)