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

ดึง Substring ของคอลัมน์ใน MySQL

ใช้ฟังก์ชัน SUBSTR() (หรือ SUBSTRING()) เพื่อดึงส่วนย่อยของสตริง

ไวยากรณ์

SUBSTR(string, start_position, length)
SUBSTRING(string FROM start_position FOR length)
  • start_position: 1 = ตัวแรก, ตัวเลขลบ = นับจากท้าย
  • length: จำนวนตัวอักษร (ไม่ระบุ = จนถึงท้าย)

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

1. สร้างตารางและข้อมูล

mysql> CREATE TABLE DemoTable (Title TEXT);
mysql> INSERT INTO DemoTable VALUES 
('This is a MySQL Database'), 
('Java is an Object Oriented Programming Language');

2. ดึง 8 ตัวอักษรแรก

mysql> SELECT DISTINCT SUBSTR(Title, 1, 8) FROM DemoTable;

ผลลัพธ์

+-----------------------+
| SUBSTR(Title, 1, 8)   |
+-----------------------+
| This is               |
| Java is               |
+-----------------------+

ตัวอย่างเพิ่มเติม

-- ดึง 5 ตัวสุดท้าย
SELECT SUBSTR(Title, -5) FROM DemoTable;

-- ดึงตั้งแต่ตัวที่ 10 จนจบ
SELECT SUBSTR(Title, 10) FROM DemoTable;

-- ดึง 3 ตัว ตั้งแต่ตัวที่ -10 (นับจากท้าย)
SELECT SUBSTR(Title, -10, 3) FROM DemoTable;

ฟังก์ชันเกี่ยวข้อง

ฟังก์ชันคำอธิบาย
SUBSTRING_INDEX(str, delim, count)แบ่งด้วยตัวคั่น
LEFT(str, len)ตัวซ้ายสุด len ตัว
RIGHT(str, len)ตัวขวาสุด len ตัว
MID(str, pos, len)เหมือน SUBSTRING