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

วิธีแยกสตริงย่อย (substring) จากสตริงใน MySQL

ฟังก์ชัน SUBSTRING() และรูปแบบต่างๆ

ฟังก์ชัน SUBSTRING() ใช้แยกสตริงย่อยจากสตริง คืนค่าสตริงย่อยที่มีความยาวกำหนด จากตำแหน่งเริ่มต้นที่ระบุ มีรูปแบบดังนี้:

  • SUBSTRING(str, pos)
  • SUBSTRING(str FROM pos)
  • SUBSTRING(str, pos, len)
  • SUBSTRING(str FROM pos FOR len)

รูปแบบที่ไม่มี len: คืนสตริงย่อยจากตำแหน่ง pos จนจบสตริง
รูปแบบที่มี len: คืนสตริงย่อยยาว len ตัวอักษร จากตำแหน่ง pos
รูปแบบที่ใช้ FROM เป็นไวยากรณ์มาตรฐานของ MySQL
สามารถใช้ค่า pos เป็นลบได้: จะเริ่มจากท้ายสตริงไปหน้า pos ตัวอักษร

ตัวอย่าง

mysql> SELECT SUBSTRING('Quadratically',5);
+---------------------------------------------------------+
| SUBSTRING('Quadratically',5)                            |
+---------------------------------------------------------+
| ratically                                               |
+---------------------------------------------------------+

mysql> SELECT SUBSTRING('foobarbar' FROM 4);
+---------------------------------------------------------+
| SUBSTRING('foobarbar' FROM 4)                           |
+---------------------------------------------------------+
| barbar                                                  |
+---------------------------------------------------------+

mysql> SELECT SUBSTRING('Quadratically',5,6);
+---------------------------------------------------------+
| SUBSTRING('Quadratically',5,6)                          |
+---------------------------------------------------------+
| ratica                                                  |
+---------------------------------------------------------+

mysql> Select SUBSTRING('foobarbar',-4);
+---------------------------+
| SUBSTRING('foobarbar',-4) |
+---------------------------+
| rbar                      |
+---------------------------+

ฟังก์ชันอื่นที่ทำงานเหมือนกัน: MID() และ SUBSTR() เป็น synonyms ของ SUBSTRING()