String 在PLSQL中的其他字符串中查找一个字符串

String 在PLSQL中的其他字符串中查找一个字符串,string,plsql,substr,String,Plsql,Substr,例如,我有两个字符串,如下所示: 故事一:约翰·史密斯 string2:工作流john Smith123约翰史密斯 我想做一面旗帜,像这样: 当上层(string2)如“%string1%”则1 else 0结束时的情况 但它不起作用。 提前谢谢你 使用regexp\u substr执行以下操作: SELECT CASE WHEN ( regexp_substr(<your_string2> , <your_string1>,1,1,'i')) =

例如,我有两个字符串,如下所示:

故事一:约翰·史密斯

string2:工作流john Smith123约翰史密斯

我想做一面旗帜,像这样:

当上层(string2)如“%string1%”则1 else 0结束时的情况

但它不起作用。
提前谢谢你

使用
regexp\u substr
执行以下操作:

SELECT CASE 
          WHEN ( regexp_substr(<your_string2> , <your_string1>,1,1,'i')) = lower(<your_string1>)
            then 1
            ELSE
            0
         end   Col
from dual

所以你有工作代码,这就是你想要的。你还需要什么?你想创建一个函数吗?不,它不起作用。好吧,这部分“。像“%string%”那么..”-也把它放在upper函数中。但是它已经大写了。这不是您试图与“%string1%”进行比较的解决方案,后者是一个不包含变量值的字符串文字。您需要连接例如“%”| | string1 | |“%”
SELECT CASE 
          WHEN ( regexp_substr('workflow john smith123johnsmith' , 'JOHN SMITH',1,1,'i')) = lower('JOHN SMITH')
            then 1
            ELSE
            0
         end   Col
from dual