MySQL SUBSTRING_INDEX()関数を使用して、名前文字列を2つの部分に分割するにはどうすればよいですか?
わかりやすくするために、「customerdetail」という名前のテーブルから次のデータを使用しています。
mysql> Select * from Customerdetail; +----------------------+----------------------+-----------+---------------------+ | Name | FName | Address | Emailid | +----------------------+----------------------+-----------+---------------------+ | Advik Jhamb | Lovkesh Jhamb | Mumbai | Advik@gmail.com | | Chirag Jai Patil | Raman Jai Patil | Gujrat | chirahp@yahoo.com | | Devansh Singh Rajput | Kishore Singh Rajput | Rajasthan | Devansh@Hotmail.com | | Mitul Kumar Sharma | Om Veer Sharma | Patiala | Mitul@gmail.com | +----------------------+----------------------+-----------+---------------------+ 4 rows in set (0.00 sec)
ここで、名前を「First_name」と「Last_name」の2つの部分に分割する場合は、次のクエリを使用して実行できると仮定します-
mysql> SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1) AS First_Name, TRIM( SUBSTR(Name, LOCATE(' ', Name)) ) AS Last_Name FROM Customerdetail; +------------+--------------+ | First_Name | Last_Name | +------------+--------------+ | Advik | Jhamb | | Chirag | Jai Patil | | Devansh | Singh Rajput | | Mitul | Kumar Sharma | +------------+--------------+ 4 rows in set (0.00 sec)
上記のクエリの結果セットから、名前が2つの部分に分割されていることが明らかです。ミドルネームは名前の一部と見なされます。
-
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('John123@example.com'); Query OK, 1 row affected