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

MySQLでvarchar数値列をDESCまたはASCで並べ替える方法は?


まずテーブルを作成しましょう-

mysql> create table DemoTable726 (Value varchar(100));
Query OK, 0 rows affected (0.60 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable726 values('100');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable726 values('10');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable726 values('110');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable726 values('2000');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable726 values('1000');
Query OK, 1 row affected (0.14 sec)

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

mysql> select *from DemoTable726;

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

+-------+
| Value |
+-------+
| 100   |
| 10    |
| 110   |
| 2000  |
| 1000  |
+-------+
5 rows in set (0.00 sec)

以下は、varchar数値列を昇順で並べ替えるクエリです-

mysql> select *from DemoTable726 order by CAST(Value AS DECIMAL(20,2));

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

+-------+
| Value |
+-------+
| 10    |
| 100   |
| 110   |
| 1000  |
| 2000  |
+-------+
5 rows in set (0.00 sec)

以下は、結果を降順で並べ替えて表示するためのクエリです-

mysql> select *from DemoTable726 order by CAST(Value AS DECIMAL(20,2)) DESC;

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

+-------+
| Value |
+-------+
| 2000  |
| 1000  |
| 110   |
| 100   |
| 10    |
+-------+
5 rows in set (0.00 sec)

  1. MySQLでカスケードを表示するにはどうすればよいですか?

    カスケードを表示するには、MySQLでSHOWCREATETABLEを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1378    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> EmployeeId varchar(20),    -> EmployeeFirstName varchar(20),    -> EmployeeLa

  2. MySQLでvarcharの「時間」をリアルタイムに変換する方法は?

    このために、TIME_FORMAT()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1591    -> (    -> ArrivalTime varchar(20)    -> ); Query OK, 0 rows affected (0.58 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1591 values('1620'); Qu