文字列数字のソート (MySQL)

ブログ | 2007/10/24 04:09
文字列として扱った場合、数字をソートするとおそらく
1,11,12,2,25,3,4,5....
と並ぶ。

1,2,3,4,5,11,12...
と並べたい。
SELECT * FROM table ORDER BY LPAD(field, 10, '0') ;
これで並ぶ。

さらに、11-9,3-10を逆に並べたい。
SELECT * FROM table ORDER BY LPAD(SUBSTRING_INDEX(field,'-',1), 10, '0'),LPAD(SUBSTRING_INDEX(field,'-',-1), 10, '0') ;
これでどうだ。

参照ページ
http://www.limy.org/program/db/mysql/mysql_opera...
縮小 拡大

ログインしておくと、後で編集が可能です。

Rottel内コンテンツ

ユーザー一覧

Rottelとは?
利用規約
開発飲料
利用者の声
ヘルプ
close