質問
以下の結果が出力できるSQLを書きたいです。
txt
11a 21b 31c 41g 52a 62b 72e 810a 910b
試したこと1
以下のSQLの場合、10a, 10bが上に来てしまいます。
sql
1SELECT id from dummy order by id
txt
110a 210b 31a 41b 51c 61g 72a 82b 92e
試したこと2
以下のSQLの場合1gが上に来てしまいます。1gが1と変換される為です。
sql
1SELECT id, (CONV(id, 16, 10) + 0) 2FROM dummy 3ORDER BY (CONV(id, 16, 10) + 0)
idの値について
[0-9a-z]です。
テーブル構成
sql
1CREATE TABLE IF NOT EXISTS `dummy` ( 2 `id` varchar(3) DEFAULT NULL 3) ENGINE=InnoDB DEFAULT CHARSET=utf8; 4 5INSERT INTO `dummy` (`id`) VALUES 6 ('1a'), 7 ('1b'), 8 ('1c'), 9 ('2a'), 10 ('2b'), 11 ('2e'), 12 ('10a'), 13 ('10b'), 14 ('1g'); 15
バージョン
10.2.12-MariaDB
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/05/02 02:08