我需要一个简单的查询来查找文本中的国家/地区。 我有一张桌子上有不同的文章,桌面上有世界上所有的国家名称。
ID |制品
1 |在中国,一头三头鱿鱼卖给了自行车供应商
2 |尼日利亚政府组织了一次睡眠派对
3 |奥地利禁止澳大利亚喜剧演员
CID |名称
1 |尼日利亚
2 |曲霉
3 |奥地利
4 |中国*
我只需要文章中出现完整国家/地区名称的匹配项。我目前正在使用“喜欢”的查询:
> Where a.Article like '%'||b.Name||'%'
但这样来自NIGERIA的文章也与NIGER相匹配。
有什么建议吗?
答案 0 :(得分:2)
WHERE a.Article RLIKE "[[:<:]]b.Name[[:>:]]"
尝试上面的where子句
这是一个SQL小提琴,我在其中选择了articles表中的所有文章,这些文章都指的是尼日利亚。
答案 1 :(得分:1)
您可以在国家/地区名称前后添加空格,如下所示:
Where a.Article like '% '||b.Name||' %'
不太正确,因为您还需要考虑国家/地区名称是第一个也是最后一个字。所以你还需要检查
Where a.Article like '%'||b.Name||' %'
和
Where a.Article like '% '||b.Name||'%'
答案 2 :(得分:1)
试试这个:!
SELECT * FROM tbl_article a WHERE (a.Article REGEXP ('EXACT VALUE'));