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

MySQL REGEXPを使用して数値を無視し、文字列と「/」のみを取得します


これには、REGEXP_REPLACE()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable1595
   -> (
   -> StudentCode varchar(50)
   -> );
Query OK, 0 rows affected (0.44 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1595 values('200 John');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable1595 values('101 Carol/400 Taylor');
Query OK, 1 row affected (0.72 sec)
mysql> insert into DemoTable1595 values('101 302 405 Sam/9870');
Query OK, 1 row affected (0.28 sec)

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

mysql> select * from DemoTable1595;

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

+----------------------+
| StudentCode          |
+----------------------+
| 200 John             |
| 101 Carol/400 Taylor |
| 101 302 405 Sam/9870 |
+----------------------+
3 rows in set (0.00 sec)

これは、MySQL REGEXPを使用して数値を無視し、文字列と'/'-

のみを取得するためのクエリです。
mysql> select regexp_replace(StudentCode,' *[0-9]+([.,][0-9]+)?(/[0-9]+([.,][0-9]+)?)? *', '') as `GetOnlyStringand/` from DemoTable1595;

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

+-------------------+
| GetOnlyStringand/ |
+-------------------+
| John              |
| Carol/Taylor      |
| Sam/              |
+-------------------+
3 rows in set (0.00 sec)

  1. 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, −

  2. MySQLで文字列を暗号化および復号化しますか?

    MySQLで暗号化および復号化するには、MySQLでAES_ENCRYPT()およびAES_DECRYPT()を使用します- insert into yourTableName values(AES_ENCRYPT(yourValue,yourSecretKey)); select cast(AES_DECRYPT(yourColumnName, yourSecretKey) as char) from yourTableName; 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table demo63 −> ( &min