2010-01-13 5 views

Répondre

5

Hmm, un bref parcourir la liste des fonctions ne pop-up me toutes les fonctions « recherche arrière », mais ce que vous pouvez faire est d'inverser la chaîne et la recherche vers l'avant:

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

Je pense que vous cherchez quelque chose comme SUBSTRING_INDEX

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

Vous pouvez utiliser REVERSE conjointement avec INSTR.

à-dire

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

retourne '8'.

Questions connexes