Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แยกคอลัมน์ชื่อเต็มเป็นชื่อและนามสกุลด้วยคอมม่าใน MySQL

การแยกชื่อและนามสกุลที่คั่นด้วยคอมม่า

ใช้ SUBSTRING_INDEX(fullname, ',', 1) ส่วนก่อนคอมม่า (ชื่อ) และ SUBSTRING_INDEX(fullname, ',', -1) ส่วนหลังคอมม่า (นามสกุล)

สร้างตารางและเพิ่มข้อมูล

mysql> CREATE TABLE demo79 (fullname VARCHAR(50));
Query OK, 0 rows affected (0.64 sec)

mysql> INSERT INTO demo79 VALUES('John,Smith');
mysql> INSERT INTO demo79 VALUES('David,Miller');
mysql> INSERT INTO demo79 VALUES('Chris,Brown');

คำสั่ง SQL แยกคอลัมน์

mysql> SELECT
    -> fullname,
    -> SUBSTRING_INDEX(fullname, ',', 1) AS First_Name,
    -> SUBSTRING_INDEX(fullname, ',', -1) AS Last_Name
    -> FROM demo79;

ผลลัพธ์:

+--------------+------------+-----------+
| fullname     | First_Name | Last_Name |
+--------------+------------+-----------+
| John,Smith   | John       | Smith     |
| David,Miller | David      | Miller    |
| Chris,Brown  | Chris      | Brown     |
+--------------+------------+-----------+

คำอธิบาย: SUBSTRING_INDEX ตัวเลขบวก นับจากซ้าย, ตัวเลขลบ นับจากขวา เหมาะกับตัวคั่นตัวเดียว หากมีคอมม่าหลายตัว ต้องใช้วิธีอื่น