首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql -从文本中选择单词

Mysql -从文本中选择单词
EN

Stack Overflow用户
提问于 2010-10-07 13:52:59
回答 2查看 2.5K关注 0票数 2

我有一张包含300个地点的桌子(Pris,伦敦,.)是否有方法(查询)从指定的文本中选择位置。

例如:

伦敦交通运输公司(TfL)正与其美国、澳大利亚和欧洲合作伙伴就向纽约巴黎发放一张非接触式卡进行谈判。

我想要一个查询:

  • London
  • Paris
  • New York

我试过:SELECT name FROM coutries WHERE name IN ("Transport for London (TfL) is in talks with its American, Australian and European partners about issuing a single contactless card for Paris, New York")

但没有机会!有人能帮忙吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-07 13:56:19

代码语言:javascript
复制
SELECT name 
FROM coutries 
WHERE ("Transport for London (TfL) is in talks with its American, Australian and European partners about issuing a single contactless card for Paris, New York") LIKE CONCAT('%', name, '%');

IN做的事情完全不同。

票数 4
EN

Stack Overflow用户

发布于 2010-10-07 14:20:42

实现这种方法的唯一方法是在SQL中使用like %name% --如果需要,可以循环遍历您的名称来构建where子句,我还建议将搅拌添加到变量中,而不是像我一样重复它:

代码语言:javascript
复制
SELECT name FROM countries WHERE ('Transport for London (TfL) is in talks with its American, Australian and European partners about issuing a single contactless card for Paris, New York') like '%London%' or ('Transport for London (TfL) is in talks with its American, Australian and European partners about issuing a single contactless card for Paris, New York') like '%Paris%' or ('Transport for London (TfL) is in talks with its American, Australian and European partners about issuing a single contactless card for Paris, New York') like '%New York%';

但是,这样做意味着您可能会带来更多您所期望的结果,因为它在字符串中的位置并不重要,即使它是另一个单词的一部分。如果您正在传递完整的国家名称,那么您应该不会介意,但是传递类似united之类的东西可能会返回United KingdomUnited States

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3882321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档