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

แยกส่วนซ้ายของสตริงด้วยตัวแบ่งใน MySQL ด้วย SUBSTRING_INDEX()

ใช้ฟังก์ชัน SUBSTRING_INDEX() เพื่อดึงส่วนซ้ายของสตริงก่อนตัวแบ่ง รูปแบบ:

SELECT SUBSTRING_INDEX(yourColumnName, 'yourSeparator', 1) AS alias FROM yourTableName;

ค่า 1 หมายถึงดึงส่วนก่อนตัวแบ่งตัวแรก (ด้านซ้าย)

ตัวอย่างการใช้งาน

สร้างตาราง:

mysql> CREATE TABLE LeftStringDemo (
    -> Id INT,
    -> Words VARCHAR(100)
    -> );

เพิ่มข้อมูล:

mysql> INSERT INTO LeftStringDemo VALUES (1, 'MySQL==6789');
mysql> INSERT INTO LeftStringDemo VALUES (2, 'Java==Object Oriented');
mysql> INSERT INTO LeftStringDemo VALUES (3, 'C Language==Procedural Programming');
mysql> INSERT INTO LeftStringDemo VALUES (4, 'PL/SQL==Structured Programming');

ดึงส่วนซ้ายก่อน ==

mysql> SELECT Id, SUBSTRING_INDEX(Words, '==', 1) AS OnlyLeftHandSide FROM LeftStringDemo;

ผลลัพธ์:

+------+-----------------------+
| Id   | OnlyLeftHandSide      |
+------+-----------------------+
| 1    | MySQL                 |
| 2    | Java                  |
| 3    | C Language            |
| 4    | PL/SQL                |
+------+-----------------------+

เคล็ดลับ: ใช้ค่าลบ (เช่น -1) เพื่อดึงส่วนขวาสุดหลังตัวแบ่งตัวสุดท้ายแทน