Jag skulle föreslå att du tittar på MySQL String Functions och mer specifikt SUBSTRING_INDEX
fungera. Anledningen till att jag föreslår den här över SUBSTRING
beror på att numret före eller efter snedstrecket kan vara mer än ett enda tal vilket skulle göra att längden på den första och/eller andra delen varierar.
Exempel:
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;
Resultat:
Ytterligare exempel
I det här exemplet använder jag CAST
för att konvertera den andra delen till ett heltal utan tecken i fall det innehåller ytterligare tecken som symboler eller bokstäver. Med andra ord, den andra delen av "web-4/15." skulle vara "15" och den andra delen av "web-4/15****" skulle också vara "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;