MySQL SUBSTRING_INDEX()関数を使用して、名前文字列を3つの部分に分割するにはどうすればよいですか?
わかりやすくするために、「customerdetail」という名前のテーブルから次のデータを使用しています。
mysql> Select * from Customerdetail; +----------------------+----------------------+----------+---------------------+ | Name | FName | Address | Emailid | +----------------------+----------------------+----------+---------------------+ | Advik Jhamb | Lovkesh Jhamb | Mumbai | [email protected] | | Chirag Jai Patil | Raman Jai Patil | Gujrat | [email protected] | | Devansh Singh Rajput | Kishore Singh Rajput | Rajastan | [email protected] | | Mitul Kumar Sharma | Om Veer Sharma | Patiala | [email protected] | +----------------------+----------------------+----------+---------------------+ 4 rows in set (0.00 sec)
ここで、名前を「First_name」、Middle_Name、「Last_name」の3つの部分に分割する場合は、次のクエリを使用して実行できます-
mysql> SELECT Name, SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1) AS First_Name, If( length(Name) - length(replace(Name, ' ', ''))>1, SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 2), ' ', -1) ,NULL)AS Middle_Name, SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 3), ' ', -1) AS Last_Name, Address FROM customerdetail; +----------------------+------------+-------------+-----------+----------+ | Name | First_Name | Middle_Name | Last_Name | Address | +----------------------+------------+-------------+-----------+----------+ | Advik Jhamb | Advik | NULL | Jhamb | Mumbai | | Chirag Jai Patil | Chirag | Jai | Patil | Gujrat | | Devansh Singh Rajput | Devansh | Singh | Rajput | Rajastan | | Mitul Kumar Sharma | Mitul | Kumar | Sharma | Patiala | +----------------------+------------+-------------+-----------+----------+ 4 rows in set (0.00 sec)
上記のクエリの結果セットから、名前が3つの部分に分割されていることがわかります。名前がミドルネームで構成されていない場合、ミドルネームはNULLと見なされます。
-
SUBSTRING_INDEXを使用してMySQLで文字列を分割する方法は?
まずテーブルを作成しましょう- mysql> create table DemoTable1465 -> ( -> Name varchar(40) -> ); Query OK, 0 rows affected (0.54 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1465 values('Chris Brown'); Query OK, 1 row affected (0.1
-
MySQLを使用して文字列の一部(@の後のドメイン名)を置き換える方法は?
最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> EmailId varchar(30) -> ); Query OK, 0 rows affected (0.53 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('[email protected]'); Query OK, 1 row affected