Sql 如何比较update语句中的两个字符串

Sql 如何比较update语句中的两个字符串,sql,oracle,wildcard,Sql,Oracle,Wildcard,我希望比较update语句中的两个字符串字段。如果存在文本匹配,则语句将字段更新为1,如果不存在文本匹配,则将字段更新为0。问题是如果说BLPU_文本是'55',然后BLPU_PAO__________________________________。但如果有任何匹配,我希望它返回1 UPDATE NAG_ANALYSIS.AA3_ALL N SET N.CARTO_BLPU_BLPU_MATCH = (CASE WHEN N.BLPU_TEXT LIKE '%'||N.BLPU_PAO_SA

我希望比较update语句中的两个字符串字段。如果存在文本匹配,则语句将字段更新为1,如果不存在文本匹配,则将字段更新为0。问题是如果说BLPU_文本是'55',然后BLPU_PAO__________________________________。但如果有任何匹配,我希望它返回1

UPDATE NAG_ANALYSIS.AA3_ALL N
SET N.CARTO_BLPU_BLPU_MATCH = 
(CASE WHEN N.BLPU_TEXT LIKE '%'||N.BLPU_PAO_SAO||'%' 
THEN 1 ELSE 0 END);

非常感谢您抽出时间

因为您正在“XX55XXX”中查找“55”,您需要在时切换
中的变量:

当“XX55XXX”像“%55%”时,这将变成


它的工作原理类似于在常规SQL中选择[…],其中y与z类似,在每个列中搜索模式
z

请为您正在使用的DB引擎添加一个标记-这将为您提供更相关的答案。您可以控制数据库吗?鉴于您正在搜索的文本和您正在搜索的文本都在同一条记录中,我想知道CARTO_BLPU_BLPU_匹配是否只是一个计算列?是的,我可以控制数据库。我会考虑一个计算栏目的建议。谢谢你的帮助
WHEN N.BLPU_TEXT LIKE '%'||N.BLPU_PAO_SAO||'%' 
WHEN N.BLPU_PAO_SAO LIKE '%'||N.BLPU_TEXT||'%'