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

ufk*_*ufk 12 mysql

有没有办法从sql的字符串右侧返回第一次出现的空格?

YOU*_*YOU 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)
Run Code Online (Sandbox Code Playgroud)


nic*_*ckf 6

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

SELECT LENGTH(`haystack`) - POSITION('needle' IN REVERSE(`haystack`))
Run Code Online (Sandbox Code Playgroud)


dav*_*vek 5

您可以将REVERSEINSTR结合使用.

select right('12345 67 8', instr(reverse('12345 67 8'), ' '));
Run Code Online (Sandbox Code Playgroud)

返回'8'.