การใช้ SUBSTRING_INDEX() เพื่อตัดข้อความ
ฟังก์ชัน SUBSTRING_INDEX(str, delim, count) คืนค่าส่วนของสตริงก่อนตัวแบ่ง (delimiter) ตามจำนวนที่ระบุ
ไวยากรณ์
SUBSTRING_INDEX(string, delimiter, count)
-- count > 0: ส่วนซ้ายของ delimiter ครั้งที่ count
-- count < 0: ส่วนขวาของ delimiter ครั้งที่ |count|
ตัวอย่าง: ลบตัวเลขหลัง Hyphen
CREATE TABLE DemoTable2040 (StudentCode VARCHAR(20));
INSERT INTO DemoTable2040 VALUES
('John-232'), ('Carol-901'), ('David-987');
-- เก็บเฉพาะส่วนก่อน hyphen ตัวแรก (count = 1)
UPDATE DemoTable2040
SET StudentCode = SUBSTRING_INDEX(StudentCode, '-', 1);
SELECT * FROM DemoTable2040;
ผลลัพธ์
| StudentCode |
|---|
| John |
| Carol |
| David |
การประยุกต์: ใช้ SUBSTRING_INDEX(..., '-', -1) เพื่อ取得ส่วนหลัง hyphen ตัวสุดท้ายแทน