Navrhoval bych, abyste se podívali na Funkce řetězce MySQL a konkrétněji SUBSTRING_INDEX
funkce. Důvod, proč navrhuji toto přes SUBSTRING
je to proto, že číslo před nebo za lomítkem může být více než jedno číslo, což by způsobilo, že by se délka první a/nebo druhé části lišila.
Příklad:
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;
Výsledek:
Další příklad
V tomto příkladu používám CAST
převést druhou část na celé číslo bez znaménka v případě, že obsahuje další znaky, jako jsou symboly nebo písmena. Jinými slovy, druhá část "web-4/15." by bylo "15" a druhá část "web-4/15****" by byla také "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;