Jåc*_*cob 26 sql oracle clob oracle10g
如何从clob列中获取特定字符串?
我有如下数据存储在名为clob列中 product_details
CALCULATION=[N]NEW.PRODUCT_NO=[T9856]
OLD.PRODUCT_NO=[T9852].... -- with other text
Run Code Online (Sandbox Code Playgroud)
我想NEW.PRODUCT_NO从列中搜索字符串product_details
我试过了
select * from my_table
where dbms_lob.instr(product_details,'NEW.PRODUCT_NO')>=1
Run Code Online (Sandbox Code Playgroud)
以上从我的表中提取全文.
任何帮助都非常值得赞赏.
问候
kro*_*lko 20
使用dbms_lob.instr和dbms_lob.substr,就像常规的InStr和SubstStr函数一样.
看一下简单的例子:
SQL> create table t_clob(
2 id number,
3 cl clob
4 );
Tabela zosta?a utworzona.
SQL> insert into t_clob values ( 1, ' xxxx abcd xyz qwerty 354657 [] ' );
1 wiersz zosta? utworzony.
SQL> declare
2 i number;
3 begin
4 for i in 1..400 loop
5 update t_clob set cl = cl || ' xxxx abcd xyz qwerty 354657 [] ';
6 end loop;
7 update t_clob set cl = cl || ' CALCULATION=[N]NEW.PRODUCT_NO=[T9856] OLD.PRODUCT_NO=[T9852].... -- with other text ';
8 for i in 1..400 loop
9 update t_clob set cl = cl || ' xxxx abcd xyz qwerty 354657 [] ';
10 end loop;
11 end;
12 /
Procedura PL/SQL zosta?a zako?czona pomy?lnie.
SQL> commit;
Zatwierdzanie zosta?o uko?czone.
SQL> select length( cl ) from t_clob;
LENGTH(CL)
----------
25717
SQL> select dbms_lob.instr( cl, 'NEW.PRODUCT_NO=[' ) from t_clob;
DBMS_LOB.INSTR(CL,'NEW.PRODUCT_NO=[')
-------------------------------------
12849
SQL> select dbms_lob.substr( cl, 5,dbms_lob.instr( cl, 'NEW.PRODUCT_NO=[' ) + length( 'NEW.PRODUCT_NO=[') ) new_product
2 from t_clob;
NEW_PRODUCT
--------------------------------------------------------------------------------
T9856
Run Code Online (Sandbox Code Playgroud)
Flo*_*ita 14
好的,您可以使用与strtr相关的substr来查找字符串的起始位置
select
dbms_lob.substr(
product_details,
length('NEW.PRODUCT_NO'), --amount
dbms_lob.instr(product_details,'NEW.PRODUCT_NO') --offset
)
from my_table
where dbms_lob.instr(product_details,'NEW.PRODUCT_NO')>=1;
Run Code Online (Sandbox Code Playgroud)
select *
from TABLE_NAME
where dbms_lob.instr(COLUMNNAME,'searchtext') > 0;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
108918 次 |
| 最近记录: |