CSE 15、CSE 11などの数字で区切られた文字列レコードから数値で並べ替えますか?
まずテーブルを作成しましょう-
mysql> create table DemoTable1969 ( BranchCode varchar(20) ); Query OK, 0 rows affected (0.00 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1969 values('CSE 101'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1969 values('CSE 11'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1969 values('CSE 15'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1969 values('CSE 6'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1969 values('CSE 201'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1969 values('CSE 110'); Query OK, 1 row affected (0.00 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1969;
これにより、次の出力が生成されます-
+------------+ | BranchCode | +------------+ | CSE 101 | | CSE 11 | | CSE 15 | | CSE 6 | | CSE 201 | | CSE 110 | +------------+ 6 rows in set (0.00 sec)
これは、数字で区切られた文字列レコードから数値で並べ替えるクエリです-
mysql> select * from DemoTable1969 order by CAST(SUBSTRING(BranchCode,LOCATE(' ',BranchCode)+1) AS SIGNED) DESC;
これにより、次の出力が生成されます-
+------------+ | BranchCode | +------------+ | CSE 201 | | CSE 110 | | CSE 101 | | CSE 15 | | CSE 11 | | CSE 6 | +------------+ 6 rows in set (0.00 sec)
-
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, −
-
文字列から最大数値を抽出するPython正規表現
正規表現を使用して文字列から最大数値を抽出する最も簡単な方法は、-です。 正規表現モジュールを使用して、文字列からすべての数値を抽出します これらの数値から最大値を見つけます たとえば、入力文字列の場合- この都市には121005人、隣接する都市には1587469人、遠く離れた都市には18775994人がいます。 出力を取得する必要があります- 18775994 \ dは数字を示し、プラス記号は連続する数字の最長の文字列を検索するため、「\d+」正規表現を使用して文字列内のすべての数字を検索できます。次のようにreパッケージを使用して実装できます- import re # Ext