mysql:substring从右边返回第一个匹配项? (subrstring?)

时间:2010-01-13 12:26:25

标签: mysql

有没有办法在sql中从字符串的右侧返回第一个空格?

3 个答案:

答案 0 :(得分:26)

我认为您正在寻找类似SUBSTRING_INDEX

的内容
mysql> SELECT SUBSTRING_INDEX('first second end', ' ', -1);
+----------------------------------------------+
| SUBSTRING_INDEX('first second end', ' ', -1) |
+----------------------------------------------+
| end                                          |
+----------------------------------------------+
1 row in set (0.00 sec)

答案 1 :(得分:6)

嗯,简要浏览一下功能列表并没有向我弹出任何“向后搜索”功能,但你可以做的是反转字符串并向前搜索:

SELECT LENGTH(`haystack`) - POSITION('needle' IN REVERSE(`haystack`))

答案 2 :(得分:5)

您可以将REVERSEINSTR结合使用。

select right('12345 67 8', instr(reverse('12345 67 8'), ' '));

返回'8'。