请知道如何使用pl / sql从大字符串中获取特定字符串, 我是创建查询的初学者,所以任何帮助都会有用。 BTW我不想使用这个函数:从* cuz中选择substr( * ,*,*)输入是可变的,所以任何人都可以帮我解决这个问题, 你建议我使用块的实例。
谢谢&的问候,
答案 0 :(得分:3)
听起来你正在寻找更大字符串中的特定字符串。如果是这样,你可能正在寻找的功能是INSTR:
http://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_functions_1103.htm
答案 1 :(得分:3)
至于我对您的问题的理解,您希望check
specific word
中是否存在string or not
,如果这是您可以在下面找到解决方案的问题。
DECLARE
v_string VARCHAR2(200):='MY NAME IS GAURAV SONI';
v_check PLS_INTEGER;
BEGIN
v_check:=INSTR(v_string,'GAURAV'); --this is case sensitive
IF v_check >0 THEN
dbms_output.put_line('Word exists');
END IF;
END;
在上面的区块中,我们搜索字符串GAURAV
中的字MY NAME IS GAURAV SONI
,此字存在于12
处。
请注意,这是Case sensitive
,如果您输入gaurav
字,v_check
的值将为zero
。
如果您正在寻找Case insensitive
,请在oracle REGEXP_INSTR
中使用常规表达式代替INSTR
。在使用此函数REGEXP_INSTR之前阅读oracle文档