MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

'2321/78/54-6'などの特殊文字を使用してレコードを並べ替える


並べ替えるには、ORDER BY SUBSTRING()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Value varchar(40)
   -> );
Query OK, 0 rows affected (0.59 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('2321/78/54-6')
   -> ;
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('2321/78/54-8');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('2321/78/54-5');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('2321/78/54-9');
Query OK, 1 row affected (0.21 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable;

これにより、次の出力が生成されます-

+--------------+
| Value        |
+--------------+
| 2321/78/54-6 |
| 2321/78/54-8 |
| 2321/78/54-5 |
| 2321/78/54-9 |
+--------------+
4 rows in set (0.00 sec)

特殊文字でレコードを並べ替えるクエリは次のとおりです-

mysql> select * from DemoTable
   -> where Value like '2321/78/54%'
   -> order by substring(Value from 1 for 10),cast(substring(Value from 11) as decimal);
>

これにより、次の出力が生成されます-

+--------------+
| Value        |                                                                                             +--------------+
| 2321/78/54-9 |
| 2321/78/54-8 |
| 2321/78/54-6 |
| 2321/78/54-5 |
+--------------+
4 rows in set (0.05 sec)

  1. MySQLで数字と混合された文字列で並べ替えますか?

    場合によってはORDERBYを使用します。テーブルを作成しましょう- mysql> create table demo18 −> ( −> value text −> ); Query OK, 0 rows affected (1.18 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo18 values('John Smith'); Query OK, 1 row affected (0.06 sec) mysql> inse

  2. 動的配列を使用したMySQLLIKEクエリ?

    動的配列を使用してLIKEクエリを実装するための構文は、次のとおりです- 例 select *from yourTableName    where yourColumnName2 like "%yourValue%"    order by yourColumnName1 asc    limit yourLimitValue; テーブルを作成しましょう- 例 mysql> create table demo74    -> (    -> user_i