有没有人知道如何使用 pl/sql 从一个巨大的字符串中获取一个特定的字符串,我是创建查询的初学者,所以任何帮助都会很有用。顺便说一句,我不想使用该功能: select substr( * , * ,* ) from * 因为输入是可变的,所以任何人都可以帮助我解决这个问题,你是否建议我使用 block instate 。
感谢和问候,
听起来您正在寻找更大字符串中的特定字符串。如果是这样,您可能正在寻找的功能是 INSTR:
http://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_functions_1103.htm
据我对您的问题的理解,您想check
知道 aspecific word
中是否存在 a 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
在字符串中搜索 WordMY NAME IS GAURAV SONI
并且该单词存在于适当的12
位置。
请注意这是Case sensitive
,如果您输入单词gaurav
,则值v_check
将是zero
。
如果您正在寻找Case insensitive
然后在 oracleREGEXP_INSTR
中使用 REGULAR EXPRESSIONS 代替.Read INSTR
oracle 文档,然后再使用此功能REGEXP_INSTR