mysql查询怎样智能分割字符串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql查询怎样智能分割字符串?相关的知识,希望对你有一定的参考价值。

查询关键词:厉害了我的哥
content字段内容:到底谁厉害了,是我的哥吗?
sql语句:SELECT * FROM news WHERE content LIKE ‘%厉害了%我的哥%’
sal语句中,怎样将厉害了和我的哥智能分开?

参考技术A SELECT * , substring(content,charindex(N'厉害了',content),3) as [厉害了] FROM news WHERE content LIKE %厉害了%我的哥%’

SELECT * , substring(content,charindex('我的哥',content),3) as [我的哥] FROM news WHERE content LIKE %厉害了%我的哥%’追问

能解释下吗,没看懂,关键是个变量的,不一定厉害了我的哥,我看你的语句好像是写死了,那就没意义了

参考技术B 如果你是要把,号的内容分开,可以使用
SELECT left(content,locate(',',content)-1) as CON1 ,SUBSTR(content, locate(',',content)+1) as con2 FROM news

如果是要把“到底谁厉害了,是我的哥吗?”和“厉害了和我的哥“2个内容分开,可以这样
SELECT * FROM news WHERE content LIKE ‘%厉害了%我的哥%’and content not like '%厉害了和我的哥%'
参考技术C 这个要用到分词技术了,参考:http://www.thinkphp.cn/code/926.html,但这不是严格的分词,现有php的分词插件扩展你找一下,不过那东西很庞大,要根椐你项目的情况取舍 参考技术D 最简单了 ~ ~。
SELECT * FROM news WHERE content LIKE ‘%厉害了%’
or content LIKE ‘%我的哥%’
第5个回答  2016-12-17 百度php分词本回答被提问者采纳

mysql中将一列以逗号分隔的值分割成多列显示?

表格数据如下:

参考技术A 可以用SUBSTRING_INDEX()函数
在mysql中提供了一些字符串操作的函数,其中SUBSTRING_INDEX(str, delim, count)
str: 要处理的字符串
delim: 分割符
count: 计数 如果为正数,则从左开始数,如果为负数,则从右开始数本回答被提问者和网友采纳
参考技术B 你是用的concat?这个你复制出来用导入EXCEL处理

以上是关于mysql查询怎样智能分割字符串?的主要内容,如果未能解决你的问题,请参考以下文章

sql 如何以逗号为分隔符分割一个字段的值

mysql 字符串分割 和 动态执行拼接sql

怎样从url得到对应的host和domain ?

oracle中怎样分割字符串

mysql中将一列以逗号分隔的值分割成多列显示?

js怎样截取以'-'分割的字符串