существует ли способ возвратить первое вхождение пространства от правой стороны строки в sql?
HMM, краткий просмотр через Функциональный список не появился никаких функций «поиск в обратном направлении», но то, что вы могли бы сделать, это обратить вспять строку и поиск вперед:
SELECT LENGTH(`haystack`) - POSITION('needle' IN REVERSE(`haystack`))
Я думаю, что вы ищете что-то вроде SubString_index
mysql> SELECT SUBSTRING_INDEX('first second end', ' ', -1);
+----------------------------------------------+
| SUBSTRING_INDEX('first second end', ' ', -1) |
+----------------------------------------------+
| end |
+----------------------------------------------+
1 row in set (0.00 sec)
Вы можете использовать REVERSE вместе с INSTR .
т.е.
select right('12345 67 8', instr(reverse('12345 67 8'), ' '));
возвращает «8».