在 PLSQL 的另一个字符串中查找一个字符串

Find a string in an other string in PLSQL

例如我有两个这样的字符串:

string1:约翰·史密斯

string2:工作流程 john smith123johnsmith

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

case when upper(string2) like '%string1%' then 1 else 0 end

但是它不起作用。 提前致谢!

使用 regexp_substr 执行以下操作:

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

演示:

SELECT CASE 
          WHEN ( regexp_substr('workflow john smith123johnsmith' , 'JOHN SMITH',1,1,'i')) = lower('JOHN SMITH')
            then 1
            ELSE
            0
         end   Col
from dual