การใช้ SUBSTR() เพื่อตัดข้อความตามตำแหน่ง
ฟังก์ชัน SUBSTR(str, start, length) หรือ SUBSTRING(str, start, length) ใช้擷取ส่วนของสตริง
รูปแบบการใช้งาน
-- ตัดจากตำแหน่ง start ความยาว length
SELECT SUBSTR(column, start, length) FROM table LIMIT offset, count;
-- ตัดจากตำแหน่ง start จนจบสตริง
SELECT SUBSTR(column, start) FROM table LIMIT offset, count;
ตัวอย่าง: แยก Path และ Filename
CREATE TABLE demo11 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
fileLocation TEXT
);
INSERT INTO demo11 (fileLocation) VALUES
('E:/users/program/sample.sql'),
('E:/users/data/db.sql'),
('C:/users/data/sample2.sql');
-- 15 ตัวแรก (Path)
SELECT SUBSTR(fileLocation, 1, 15) FROM demo11 LIMIT 1, 2;
-- ผล: E:/users/data/d, C:/users/data/s
-- ตัวที่ 16 เป็นต้นไป (Filename)
SELECT SUBSTR(fileLocation, 16) FROM demo11 LIMIT 1, 2;
-- ผล: b.sql, ample2.sql
แนะนำ: สำหรับการจัดการ Path ควรใช้ฟังก์ชันเฉพาะทางหรือทำในระดับ Application จะยืดหยุ่นกว่าการ Hard-code ตำแหน่ง