Je vous suggère de regarder les MySQL String Functions et plus spécifiquement le SUBSTRING_INDEX
une fonction. La raison pour laquelle je suggère celui-ci sur SUBSTRING
est parce que le nombre avant ou après la barre oblique peut être plus d'un nombre unique, ce qui ferait varier la longueur des première et/ou deuxième parties.
Exemple :
SELECT `info`,
SUBSTRING_INDEX(`info`, '/', 1) AS `first_part`,
SUBSTRING_INDEX(`info`, '/', -1) AS `second_part`
FROM `table`
ORDER BY `first_part` ASC,
`second_part` ASC;
Résultat :
Exemple supplémentaire
Dans cet exemple, j'utilise CAST
pour convertir la deuxième partie en un entier non signé au cas où elle contiendrait des caractères supplémentaires tels que des symboles ou des lettres. En d'autres termes, la deuxième partie de "web-4/15". serait "15" et la deuxième partie de "web-4/15****" serait également "15".
SELECT `info`,
SUBSTRING_INDEX(`info`, '/', 1) AS `first_part`,
CAST(SUBSTRING_INDEX(`info`, '/', -1) AS UNSIGNED) `second_part`
FROM `table`
ORDER BY `first_part` ASC,
`second_part` ASC;