การดึงส่วนแรกของชื่อ (First Name) จากชื่อเต็ม
ใช้ฟังก์ชัน LEFT() ร่วมกับ LENGTH(), LOCATE() และ REVERSE() เพื่อหาตำแหน่งช่องว่างสุดท้าย แล้วตัดข้อความทางซ้าย
สร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable1939 (FullName VARCHAR(20));
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO DemoTable1939 VALUES('Adam Smith');
mysql> INSERT INTO DemoTable1939 VALUES('Robert Downey, Jr.');
mysql> INSERT INTO DemoTable1939 VALUES('Sylvester Stallone');
mysql> INSERT INTO DemoTable1939 VALUES('Chris Hemsworth');
แสดงข้อมูลทั้งหมด
mysql> SELECT * FROM DemoTable1939;
ผลลัพธ์:
+--------------------+
| FullName |
+--------------------+
| Adam Smith |
| Robert Downey, Jr. |
| Sylvester Stallone |
| Chris Hemsworth |
+--------------------+
4 rows in set (0.00 sec)
คำสั่ง SQL ดึงส่วนหน้าชื่อ
mysql> SELECT LEFT(FullName, LENGTH(FullName) - LOCATE(' ', REVERSE(FullName)) + 1)
-> FROM DemoTable1939;
ผลลัพธ์:
+---------------------------------------------------------------------+
| LEFT(FullName, LENGTH(FullName) - LOCATE(' ', REVERSE(FullName))+1) |
+---------------------------------------------------------------------+
| Adam |
| Robert Downey, |
| Sylvester |
| Chris |
+---------------------------------------------------------------------+
4 rows in set (0.00 sec)
คำอธิบาย: REVERSE(FullName) กลับสตริง, LOCATE(' ', ...) หาตำแหน่งช่องว่างแรก (ซึ่งเป็นช่องว่างสุดท้ายของสตริงเดิม), คำนวณความยาวที่ต้องการตัดด้วย LEFT()