mysql: подстрока, которая возвращает первое вхождение справа? (subrstring?!)

существует ли способ возвратить первое вхождение пространства от правой стороны строки в sql?

12
задан Cœur 30 April 2017 в 14:57
поделиться

3 ответа

HMM, краткий просмотр через Функциональный список не появился никаких функций «поиск в обратном направлении», но то, что вы могли бы сделать, это обратить вспять строку и поиск вперед:

SELECT LENGTH(`haystack`) - POSITION('needle' IN REVERSE(`haystack`))
6
ответ дан 2 December 2019 в 04:02
поделиться

Я думаю, что вы ищете что-то вроде SubString_index

mysql> SELECT SUBSTRING_INDEX('first second end', ' ', -1);
+----------------------------------------------+
| SUBSTRING_INDEX('first second end', ' ', -1) |
+----------------------------------------------+
| end                                          |
+----------------------------------------------+
1 row in set (0.00 sec)
26
ответ дан 2 December 2019 в 04:02
поделиться

Вы можете использовать REVERSE вместе с INSTR .

т.е.

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

возвращает «8».

5
ответ дан 2 December 2019 в 04:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: