MySQLは数字付きの文字列で並べ替えますか?
数字を含むMySQL注文文字列に対して、以下は構文です。ここでは、ORDER BY、SUBSTR()、およびCAST()-
を使用しています。SELECT *FROM yourTableName ORDER BY SUBSTR(yourColumnName FROM 1 FOR 2), CAST(SUBSTR(yourColumnName FROM 2) AS UNSIGNED);
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-
mysql> create table OrderByStringWithNumbers -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Words varchar(10), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.86 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-
mysql> insert into OrderByStringWithNumbers(Words) values('A10'); Query OK, 1 row affected (0.19 sec) mysql> insert into OrderByStringWithNumbers(Words) values('A30'); Query OK, 1 row affected (0.19 sec) mysql> insert into OrderByStringWithNumbers(Words) values('A12'); Query OK, 1 row affected (0.13 sec) mysql> insert into OrderByStringWithNumbers(Words) values('A11'); Query OK, 1 row affected (0.17 sec) mysql> insert into OrderByStringWithNumbers(Words) values('A28'); Query OK, 1 row affected (0.13 sec) mysql> insert into OrderByStringWithNumbers(Words) values('A21'); Query OK, 1 row affected (0.20 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from OrderByStringWithNumbers;
以下は出力です-
+----+-------+ | Id | Words | +----+-------+ | 1 | A10 | | 2 | A30 | | 3 | A12 | | 4 | A11 | | 5 | A28 | | 6 | A21 | +----+-------+ 6 rows in set (0.00 sec)
数字の文字列で並べ替えるクエリは次のとおりです-
mysql> select *from OrderByStringWithNumbers order by -> substr(Words from 1 for 2), -> cast(substr(Words from 2) AS UNSIGNED);
以下は出力です-
+----+-------+ | Id | Words | +----+-------+ | 1 | A10 | | 4 | A11 | | 3 | A12 | | 6 | A21 | | 5 | A28 | | 2 | A30 | +----+-------+ 6 rows in set (0.00 sec)
-
Javaを使用したMySQLデータベースへの接続
以下のURLを使用してMySQLデータベースに接続します。構文は次のとおりです- String MySQLURL="jdbc:mysql://localhost:3306/yourDatabaseName?useSSL=false"; String databseUserName="yourUserName"; String databasePassword="yourPassword"; 例 import java.sql.Connection; import java.sql.DriverManager; import java.
-
MySQL REGEXPは、特定の数値で始まる文字列+数値レコードをフェッチしますか?
これには、REGEXPを使用して、特定の番号で始まるレコードをフェッチします。構文は次のとおりです。 Select yourColumnName1,yourColumnName2 from yourTableName where yourColumnName2 REGEXP '^yourStringValue[yourNumericValue]'; テーブルを作成しましょう- mysql> create table demo45 -> ( −> id int not null auto_increment primary key, −