MySQLで文字列値と数値の両方を持つvarcharデータを昇順で並べ替えることは可能ですか?
このために、ORDER BY IF(CAST())を使用できます。まずテーブルを作成しましょう-
mysql> create table DemoTable(EmployeeCode varchar(100)); Query OK, 0 rows affected (1.17 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('190'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('100'); Query OK, 1 row affected (0.30 sec) mysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable values('120'); Query OK, 1 row affected (0.21 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+--------------+ | EmployeeCode | +--------------+ | 190 | | 100 | | John | | 120 | +--------------+ 4 rows in set (0.00 sec)
以下は、文字列と数値の両方の値を使用してvarcharデータを昇順で並べ替えるクエリです-
mysql> select *from DemoTable ORDER BY IF(CAST(EmployeeCode AS SIGNED) = 0, 100000000000, CAST(EmployeeCode AS SIGNED));
これにより、次の出力が生成されます。ここでは、数値が最初に並べ替えられます-
+--------------+ | EmployeeCode | +--------------+ | 100 | | 120 | | 190 | | John | +--------------+ 4 rows in set, 1 warning (0.00 sec)
-
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
-
文字列と数値を組み合わせてどのタイプのデータ型(MySQL)を使用する必要がありますか?
文字列と数値を混在させるには、VARCHAR()データ型を使用する必要があります。以下は構文です- CREATE TABLE yourTableName ( yourColumnName1 VARCHAR(40) ); テーブルを作成しましょう- mysql> create table demo28 −> ( −> id int not null auto_increment primary key, −> user_id varchar(40) −> ); Query OK, 0 rows affected (0