选择列A的字符串中的任何单词与列B的字符串中的任何单词匹配的位置

杰里米

我一直在搜索网站上的一些指导,但找不到合适的东西。我想知道是否有一种方法可以选择“ A列字符串中的任何单词与B列字符串中的任何单词都匹配”的行?我正在使用postgresql。

ID | Name              | Name_of_kin 
1  | Peter Reeves      | John Reeves
2  | Emily Sanchez     | Roger James
3  | Rico van Der      | Moses van Fel
4  | Monic             | Monica
5  | Michaelangelo     | Michael

在这种情况下,我想选择中的任何单词Name_of_kin匹配中的任何单词的行Name我希望达到的结果是:

ID | Name              | Name_of_kin 
1  | Peter Reeves      | John Reeves
3  | Rico van Der      | Moses van Fel

提前非常感谢您!

专线小巴

您可以将每个字符串变成一个单词,然后检查它们是否重叠:

select t.*
from mytable t
where string_to_array(t.name, ' ') && string_to_array(t.name_of_kin, ' ')

DB Fiddle上的演示

id | 名称| 亲属名字  
-:| :----------- | :------------ 
 1 | 彼得·里夫斯| 约翰·里夫斯  
 3 | Rico van Der | 摩西·范·费尔

在Snowflake中,您可以这样写:

select t.*
from mytable t
where array_overlap(split(t.name, ' '), split(t.name_of_kin, ' '))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

匹配字符串中的任何单词,但在python中以大括号开头的单词除外

如何从目标字符串中的源字符串中找到任何单词,并在PHP中从目标字符串中删除所有匹配的单词

如何在字符串中的任何地方匹配非单词字符?

字符串是否包含我列表中的任何单词?

在字符串中搜索任何单词的记录集

匹配字符串中的多个单词中的任何一个/全部

如何用PHP中的Regex匹配字符串中的任何单词

php代码以匹配字符串(如果任何单词在数组中)

在字符串中搜索单词的位置

获取单词对在字符串中的位置

查找单词在字符串中的位置

如果字符串中包含我的String数组中的任何单词,如何替换字符串中的单词

使用正则表达式提取字符串,该字符串在字符串中的任何位置都包含某个单词

Javascript如果字符串与数组中的多个单词匹配,则选择该字符串

找出列表中的任何单词是否是较长单词中的子字符串的更快方法

从列数据框中的字符串中删除单词

如何使用单词列表中的任何单词拆分字符串

Oracle检查表a列中的字符串是否包含表b列中的单词

在字符串中查找与字典中的值匹配的单词,然后在新列中返回键

在单词中拆分字符串并检查单词是否与列表项匹配并将该单词作为新列的值返回

不允许在字符串中的任何位置使用正则表达式,例如({} [] ^)之类的单词和字符

根据子字符串匹配多个列中的任何一个来选择data.table中的行

检查字符串是否匹配字符串数组中的任何字符串?

在字符串中查找字符位置已知的单词

单词匹配字符串

获取带有预定义列表的pandas列字符串中匹配单词的计数

在 Excel 中的 2 列之间提取部分匹配字符串(单词)

在R的数据框中的任何列中查找部分匹配字符串

在任何列中包含字符串的子集行