MYSQL判断一个多项字符串是否至少有一项被另外个字符串包含

在MYSQL中 如何判断某个字符串中,至少包含'北京','上海','广州' 中的其中一项?

比如 字符串a=‘联合国报告指出上海人类发展指数居中国城市第二位。2019年,上海市实现地区生产总值35371.3亿元,按可比价格计算,比上年增长6.1%。社会消费品零售总额12270.1亿元’ 包含了'北京','上海','广州'这3个中的一项'上海'

vfiles 发布于 2020-8-18 14:17
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
zsh331Lv8专家互助
发布于2020-8-18 14:27(编辑于 2020-8-18 14:38)
select * from tablename where locate('北京',字符串a)>0 or locate('上海',字符串a)>0 or locate('广州',字符串a)>0


优化版:

select * from tablename where  字符串a REGEXP '北京|上海|广州'


  • vfiles vfiles(提问者) 优化版可以解决我的问题。感谢感谢!
    2020-08-18 16:14 
  • vfiles vfiles(提问者) REGEXP 里可以嵌 REPALCE么?我是用空格 隔开的: 北京 上海 广州
    2020-08-18 16:31 
  • 2关注人数
  • 402浏览人数
  • 最后回答于:2020-8-18 14:38
    请选择关闭问题的原因
    确定 取消
    返回顶部