【问题标题】:Get the substring from a string if the string contains the substring in mysql如果字符串包含mysql中的子字符串,则从字符串中获取子字符串
【发布时间】:2017-10-19 13:36:24
【问题描述】:

我们可以使用编程语言来做到这一点。但是从 mysql 中获取结果却很难找到。

我的表中有一个包含字符串值的列。

例如:周六周一周二周三周四周五周日

如果我从上面的字符串中搜索 monday,查询应该只给出 monday 作为我的结果。

我只需要从字符串中获取搜索到的单词作为 mysql 结果。

我尝试了以下查询。

 SELECT SUBSTRING_INDEX(usertext,'STORY',0) FROM `usertext`

但它没有给出任何结果。

我正在寻找正则表达式以找到解决方案。

如果我的问题不清楚,请发表评论。

【问题讨论】:

  • 应该只匹配完整的单词吗?如果您要搜索“day”,它应该返回任何内容吗?并且所有单词都是唯一的还是字符串中可以有两个星期一?如果你搜索星期一会发生什么?
  • 它应该匹配完整的单词

标签: mysql string search substring


【解决方案1】:

这个怎么样?

select SUBSTR(usertext, INSTR(usertext, 'sunday'), length('sunday'))  
from myTable 
where CONCAT(' ', usertext, ' ') rlike ' sunday ';

如果您确定总是搜索完整的单词,那么更简单的版本可以是:

select SUBSTR(usertext, INSTR(usertext, 'sunday'), length('sunday'))
from myTable
where usertext like '%sunday%';

据我所知,MySql 不支持选择中的正则表达式来获取值,仅支持 where 部分。

【讨论】:

  • 谢谢兄弟。优秀
猜你喜欢
  • 1970-01-01
  • 2020-03-24
  • 1970-01-01
  • 2020-08-26
  • 1970-01-01
  • 2021-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多