当前位置: 首页 > 面试题库 >

在Oracle Clob列中搜索特定的字符串

齐昊焱
2023-03-14
问题内容

如何从Clob列获取特定的字符串?

我有以下数据,存储在名为clob的列中 product_details

CALCULATION=[N]NEW.PRODUCT_NO=[T9856] 
OLD.PRODUCT_NO=[T9852].... -- with other text

我想NEW.PRODUCT_NO从列中搜索字符串product_details

我已经尝试过

select * from my_table
where dbms_lob.instr(product_details,'NEW.PRODUCT_NO')>=1

上面从我的表中获取全文。

任何帮助都是非常明显的。

问候


问题答案:

就像常规InStr和SubstStr函数一样,使用dbms_lob.instr和dbms_lob.substr。
看一个简单的例子:

SQL> create table t_clob(
  2    id number,
  3    cl clob
  4  );

Tabela zosta鈹俛 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鈹俛 zako藵czona pomy钮lnie.

SQL> commit;

Zatwierdzanie zosta鈹俹 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


 类似资料:
  • 本文向大家介绍使用MySQL搜索字符串中的特定字符?,包括了使用MySQL搜索字符串中的特定字符?的使用技巧和注意事项,需要的朋友参考一下 为此,请使用REGEXP。例如,字符J,A,V和A。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是使用MySQL在字符串中搜索字符的查询- 这将产生以下输出-

  • 我有像这样的字符串: (或) 我想看看这个字符串是否有单词“place”。 如果它们是我使用的字符串中的单词,则包含("place")。因为这是所有一个字符串,我尝试拆分但它给出了语法错误。你能让我知道如何获取它吗?

  • 本文向大家介绍如何在MySQL表中搜索特定字符串?,包括了如何在MySQL表中搜索特定字符串?的使用技巧和注意事项,需要的朋友参考一下 使用等于运算符进行完全匹配- 让我们首先创建一个表- 使用select语句显示表中的所有记录- 输出结果 这将产生以下输出- 以下是在MySQL表中搜索特定字符串的查询- 输出结果 这将产生以下输出-

  • 问题内容: 我正在Python 2.7中编写代码,在其中定义了字符串列表。然后,我想在此列表的元素中搜索一组字母。这些字母必须是随机的。即从输入中搜索列表中的每个字母。我一直在谷歌周围,但我还没有找到解决方案。 这是我得到的: 这是一个例子。在这里,唯一的输出应该是“ lake”和“ que”,因为这些词包含“ a”,“ q”和“ k”。我该如何重写我的代码,以便做到这一点? 提前致谢! 亚历克斯

  • 我刚开始使用hibernate lucene搜索。从几天以来,我一直致力于搜索关键字与特殊字符。我正在使用MultiFieldQueryParser进行精确短语匹配以及布尔搜索。但在这个过程中,我无法得到搜索关键字的结果,如“有1年以上的经验”,如果我没有在搜索关键字周围添加任何引号,那么我就得到了结果。所以我在执行lucene查询时观察到的是,它正在转义特殊符号(+)。我正在使用Standard

  • 我的问题 当我搜索时,它会按要求返回,但当我搜索时,它会返回,为什么会出现这种情况,以及如何修复它?