我有一个带有字符串字段的表,我想提取第一个包含“-”的单词
如果该字段有“so I want to get th-is word”将返回“th-is”
基本的答案是你应该依靠你的应用程序代码来解析这个响应,因为 Mysql 没有内置的字符串函数可以有效地处理这个问题。
另一种选择是创建你自己的 MySql 函数来处理这个问题——这个链接可以作为你的教程。
否则,这是一个您想要的 select 语句 - 但是我认为我自己不会在生产中使用它。
SELECT
CONCAT(
SUBSTRING_INDEX( SUBSTRING_INDEX( "so I want to get th-is word", '-', 1 ), ' ', -1 ),
'-',
SUBSTRING_INDEX( SUBSTRING_INDEX( "so I want to get th-is word", '-', -1 ), ' ', 1 )
) AS returnstring;
最简单的方法是将包含标点符号的单词包含在“反引号”中
“so I want to get `this-is` word”会生成“so I want to get th-is word”