1

我有一个带有字符串字段的表,我想提取第一个包含“-”的单词

如果该字段有“so I want to get th-is word”将返回“th-is”

4

2 回答 2

2

基本的答案是你应该依靠你的应用程序代码来解析这个响应,因为 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;
于 2012-05-25T15:51:51.567 回答
0

最简单的方法是将包含标点符号的单词包含在“反引号”中

“so I want to get `this-is` word”会生成“so I want to get th-is word”

于 2012-05-25T15:52:28.140 回答