5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

MySQL 総合 Part14

946 :NAME IS NULL:2008/11/16(日) 11:21:08 ID:???
内容的にはこういうことでしょうか。
>>945

mysql> CREATE TEMPORARY TABLE strings (
-> string TEXT
-> );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO strings (string) VALUES
-> ('あいう'),('1'),('0'),('11'),('2'),('a1'),('abc');
Query OK, 7 rows affected (0.00 sec)
Records: 7 Duplicates: 0 Warnings: 0

mysql> SELECT string FROM strings
-> ORDER BY
-> string REGEXP '^-?[0-9]+$' DESC,
-> CAST(string AS SIGNED),
-> string;
+-----------+
| string |
+-----------+
| 0 |
| 1 |
| 2 |
| 11 |
| a1 |
| abc |
| あいう |
+-----------+
7 rows in set, 3 warnings (0.00 sec)

あるいはもっと性能を出したいのであれば、
該当するカラムが「数値」であるかどうかを登録前に別のプログラムで判断して、
`is_numeric`のようなカラムに入れておくのがいいんじゃないでしょうか。

329 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)