3 回答
TA贡献1895条经验 获得超3个赞
以下是针对OP的特定问题(提取字符串的第二个单词)的建议解决方案,但应注意,由于mc0e的回答,在MySQL中不支持实际提取正则表达式匹配。如果确实需要此功能,那么您的选择基本上是:1)在客户端的后处理中执行此操作,或2)安装一个MySQL扩展来支持它。
BenWells几乎完全正确。根据他的代码工作,这是一个经过稍微调整的版本:
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
TA贡献1877条经验 获得超1个赞
提取句子中第二个单词的简短选择:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('THIS IS A TEST', ' ', 2), ' ', -1) as FoundText
SUBSTRING_INDEX的MySQL文档
添加回答
举报