MySQL文字列関数をご覧になることをお勧めします。 a> より具体的には、 SUBSTRING_INDEX
働き。 SUBSTRING
でこれを提案する理由 スラッシュの前後の数字が複数の数字である可能性があるため、最初の部分や2番目の部分の長さが異なります。
例:
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;
結果:
追加の例
この例では、を使用しています。キャストコード>
記号や文字などの追加の文字が含まれている場合に備えて、2番目の部分を符号なし整数に変換します。言い換えれば、「web-4/15」の2番目の部分です。 「15」になり、「web-4 /15****」の2番目の部分も「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;