Plsql 我只是想知道是否可以比较pl/sql中字符串的各个部分。

Plsql 我只是想知道是否可以比较pl/sql中字符串的各个部分。,plsql,Plsql,例如,如果我有一个字符串“p_TRANSACTION”,我应该检查与“%TRANSACTION”匹配的另一个字符串 p_TRANSACTION=“%TRANSACTION” 我已经使用substr(字符串,索引)提取了字符串的一部分没有正确理解您的问题,请使用此sql select * from user_tab_cols where column_name like '%'||ltrim('P_TRANSACTION','P_') 或 只需像下面这样的用户指令功能 select instr

例如,如果我有一个字符串“p_TRANSACTION”,我应该检查与“%TRANSACTION”匹配的另一个字符串

p_TRANSACTION=“%TRANSACTION”


我已经使用substr(字符串,索引)提取了字符串的一部分

没有正确理解您的问题,请使用此sql

select * from user_tab_cols where column_name like  '%'||ltrim('P_TRANSACTION','P_')

只需像下面这样的用户指令功能

select instr('P_TRANSACTION','TRANSACTION') from dual;
在本例中,它将返回非零值3。如果您得到0,则表示您的搜索字符串不是原始(基本)字符串。也许你需要应用逻辑,比如下面的东西

declare
  v_result number;
begin
  select instr('P_TRANSACTION', 'TRANSACTION') into v_result from dual;
  if v_result <> 0 then
    dbms_output.put_line('True');
  else
    dbms_output.put_line('false');
  end if;
end;
声明
v_结果编号;
开始
选择instr('P_TRANSACTION','TRANSACTION')进入dual的v_结果;
如果v_结果为0,则
dbms_output.put_line('True');
其他的
dbms_output.put_行('false');
如果结束;
结束;

我不清楚你在找什么。有
like
用于比较字符串的各个部分,例如
p_事务(如“%abc%”)
将查找包含“abc”的字符串。嗨,托尼,我有一个字符串,其中包含值为“p_事务”,我需要检查数据库中是否有任何其他列具有值(如“%transaction”)以及是否具有字符串(如“p_abc”)我需要搜索像“%ABC”这样的列值,比如
其他像“%”| | substr(字符串,3)
?我没有正确理解我们的问题,但请尝试使用此sqlshoe,提供输入和预期输出的清晰工作示例。