Ik stel voor dat je kijkt naar de MySQL String Functions en meer specifiek de SUBSTRING_INDEX
functie. De reden dat ik dit voorstel boven SUBSTRING
is omdat het getal voor of na de schuine streep meer dan een enkel getal kan zijn, waardoor de lengte van de eerste en/of tweede delen zou kunnen variëren.
Voorbeeld:
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;
Resultaat:
Aanvullend voorbeeld
In dit voorbeeld gebruik ik CAST
om het tweede deel om te zetten in een geheel getal zonder teken voor het geval het extra tekens bevat, zoals symbolen of letters. Met andere woorden, het tweede deel van "web-4/15." zou "15" zijn en het tweede deel van "web-4/15****" zou ook "15" zijn.
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;