提取单词并统计 MySQL 字符串中的出现次数
问题:
您正在寻找一个 MySQL查询类似于以下:
select <second word in text> word, count(*) from table group by word;
MySQL 中是否有使用正则表达式从表达式中提取文本的语法?
答案:
提取正则表达式匹配时默认 MySQL 功能不支持直接直接操作,正如 mc0e 提到的,有一个解决方案可以使用字符串的组合来提取字符串中的特定单词函数:
SUBSTRING( sentence, LOCATE(' ', sentence) + CHAR_LENGTH(' '), LOCATE(' ', sentence, ( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') ) )
用法:
要从字符串中提取第二个单词,您可以使用以下查询:
SELECT SUBSTRING( sentence, LOCATE(' ', sentence) + CHAR_LENGTH(' '), LOCATE(' ', sentence, ( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') ) ) as string FROM (SELECT 'THIS IS A TEST' AS sentence) temp
这将返回单词“IS”作为输出。
注意:
如果经常需要提取正则表达式匹配项,请考虑在客户端上对结果进行后处理或安装支持正则表达式提取的 MySQL 扩展。
以上是如何使用字符串函数从 MySQL 字符串中提取第二个单词?的详细内容。更多信息请关注PHP中文网其他相关文章!