1. พื้นฐานการจัดการสตริงใน MySQL
ในฐานข้อมูล การจัดการสตริงเป็นทักษะที่จำเป็นสำหรับการประมวลผลข้อมูลและการปรับปรุงผลลัพธ์ของคำสั่งค้นหา MySQL ให้ฟังก์ชันที่สะดวกสำหรับการดึงและจัดการสตริง ในบทความนี้ เราจะมุ่งเน้นไปที่ฟังก์ชัน SUBSTRING ที่สำคัญเป็นหลัก แนะนำวิธีการจัดการสตริงอื่นๆ และอธิบายตัวอย่างการใช้งานจริง
2. การดึงสตริงพื้นฐานใน MySQL – ฟังก์ชัน SUBSTRING
ฟังก์ชัน SUBSTRING ใน MySQL เป็นหนึ่งในฟังก์ชันที่ใช้บ่อยที่สุดสำหรับการดึงส่วนที่กำหนดของสตริง
ไวยากรณ์พื้นฐานของฟังก์ชัน SUBSTRING
SUBSTRING(string, start_position, length)
- string : สตริงที่จะดึงจาก
- start_position : ตำแหน่งเริ่มต้นสำหรับการดึง (ตำแหน่งตัวอักษรแรกคือ 1)
- length : จำนวนตัวอักษรที่จะดึง (หากละเว้น การดึงจะดำเนินต่อจากตำแหน่งเริ่มต้นไปจนถึงสิ้นสุดของสตริง)
ตัวอย่าง: การใช้งานพื้นฐาน
SELECT SUBSTRING('Hello World', 2, 5);
ในคำสั่งค้นหานี้ จะดึงห้าตัวอักษรที่เริ่มจากตัวอักษรที่สองของสตริง “Hello World” ส่งผลให้ได้ “ello “
การใช้ค่าลบกับ SUBSTRING
โดยการระบุค่าลบสำหรับตำแหน่งเริ่มต้น คุณสามารถนับจากสิ้นสุดของสตริงและดึงตัวอักษรได้
SELECT SUBSTRING('abcdefg', -3, 2);
คำสั่งค้นหานี้จะคืนค่า “ef” ซึ่งตรงกับตัวอักษรที่สามและสี่ที่ นับจากสิ้นสุด
3. การดึงสตริงด้วยฟังก์ชัน LEFT และ RIGHT
แทนที่จะใช้ฟังก์ชัน SUBSTRING คุณยังสามารถใช้ฟังก์ชัน LEFT และ RIGHT เพื่อดึงจำนวนตัวอักษรที่กำหนดจากจุดเริ่มต้นหรือจุดสิ้นสุดของสตริง
ฟังก์ชัน LEFT
ฟังก์ชัน LEFT จะดึงจำนวนตัวอักษรที่กำหนดจากด้านซ้ายของสตริง
SELECT LEFT('abcdefg', 3);
คำสั่งค้นหานี้จะคืนค่า “abc”
ฟังก์ชัน RIGHT
ในทางตรงกันข้าม ฟังก์ชัน RIGHT จะดึงจำนวนตัวอักษรที่กำหนดจากด้านขวาของสตริง
SELECT RIGHT('abcdefg', 3);
คำสั่งค้นหานี้จะคืนค่า “efg” ฟังก์ชันเหล่านี้มีประโยชน์เป็นพิเศษเมื่อคุณต้องการดึงจำนวนตัวอักษรคงที่จากจุดเริ่มต้นหรือจุดสิ้นสุดของสตริง
4. การแยกสตริงด้วยฟังก์ชัน SUBSTRING_INDEX
ฟังก์ชัน SUBSTRING_INDEX ใช้สำหรับการแยกสตริงตามตัวคั่นที่กำหนดและดึงส่วนย่อยที่เฉพาะเจาะจง นี่มีประโยชน์เป็นพิเศษสำหรับข้อมูล CSV หรือฟิลด์ที่ประกอบด้วยค่าที่ต่อกัน
ไวยากรณ์พื้นฐานของฟังก์ชัน SUBSTRING_INDEX
SUBSTRING_INDEX(string, delimiter, N)
- string : สตริงเป้าหมายที่จะประมวลผล
- delimiter : ตัวอักษรที่ใช้แยกสตริง (ตัวอย่างเช่น คอมมา)
- N : จำนวนตัวคั่นที่จะพิจารณา ค่าบวกนับจากจุดเริ่มต้น และค่าลบ นับจากจุดสิ้นสุด
ตัวอย่าง: การใช้งาน
SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 2);
ในคำสั่งค้นหานี้ สตริง “apple,orange,banana” จะถูกแยกด้วยคอมมา และดึงองค์ประกอบสองตัวแรก “apple,orange”

5. การใช้งานจริง: การดึงสตริงในปฏิบัติการฐานข้อมูล
การจัดการสตริงมีประโยชน์อย่างยิ่งในการจัดการฐานข้อมูลในโลกจริง นี่คือตัวอย่างปฏิบัติหลายตัวอย่าง
การดึงส่วนหนึ่งของชื่อผลิตภัณฑ์
คำสั่งค้นหาต่อไปนี้ค้นหาข้อมูลที่ชื่อผลิตภัณฑ์สิ้นสุดด้วย “Large”
SELECT * FROM products WHERE SUBSTRING(name, -5, 5) = 'Large';
ด้วยวิธีนี้ คุณสามารถระบุส่วนสิ้นสุดของข้อมูลและดึงเรคคอร์ดที่ตรงกับเงื่อนไขเฉพาะ
การดึงข้อมูลตัวเลขสำหรับการคำนวณ
ตัวอย่างนี้ดึงส่วนหนึ่งของฟิลด์ตัวเลขและใช้ในการคำนวณ
SELECT name, price, SUBSTRING(price, -2, 2) * 5 AS total FROM products;
ในคำสั่งค้นหานี้ จะดึงเลขสองตัวสุดท้ายของราคาผลิตภัณฑ์และคูณด้วย 5 เพื่อแสดงผลลัพธ์เป็น “total”
6. เคล็ดลับการเพิ่มประสิทธิภาพ
แม้ว่าการจัดการสตริงจะสะดวก แต่ก็อาจส่งผลต่อประสิทธิภาพในฐานข้อมูลขนาดใหญ่ ด้านล่างนี้เป็นเคล็ดลับหลายประการเพื่อปรับปรุงประสิทธิภาพ
ใช้ดัชนีอย่างมีประสิทธิภาพ
เมื่อค้นหาส่วนหนึ่งของสตริง ดัชนีที่กำหนดค่าอย่างเหมาะสมสามารถเพิ่มความเร็วของการสืบค้นได้อย่างมีนัยสำคัญ ตัวอย่างเช่น เมื่อผสานเงื่อนไข LIKE กับดัชนี การสืบค้นที่เริ่มจากจุดเริ่มต้นของรูปแบบ เช่น LIKE 'abc%' จะเป็นรูปแบบที่ดีที่สุด ในทางตรงกันข้าม รูปแบบเช่น LIKE '%abc' ที่ทำการจับคู่ส่วนต่อท้ายไม่สามารถใช้ดัชนีได้อย่างมีประสิทธิภาพและอาจทำให้ประสิทธิภาพลดลง
การดำเนินการสตริงบนชุดข้อมูลขนาดใหญ่
หากคุณทำการจัดการสตริงบ่อยครั้งบนตารางขนาดใหญ่ ควรพิจารณาการแปลงสตริงที่ระดับแอปพลิเคชัน เมื่อการประมวลผลบนฐานข้อมูลหนักเกินไป การกระจายภาระงานไปยังแอปพลิเคชันสามารถช่วยลดภาระของระบบได้
7. สรุป
การจัดการสตริงใน MySQL เป็นเครื่องมือที่ทรงพลังสำหรับการสกัดข้อมูลและการสร้างรายงาน โดยการใช้ฟังก์ชันเช่น SUBSTRING , LEFT และ RIGHT อย่างมีประสิทธิภาพ คุณสามารถดึงข้อมูลที่ต้องการได้อย่างง่ายดาย เพื่อเพิ่มประสิทธิภาพ ควรกำหนดดัชนีที่เหมาะสมและออกแบบกระบวนการประมวลผลอย่างรอบคอบ
เมื่อคุณเชี่ยวชาญเทคนิคเหล่านี้แล้ว คุณจะสามารถพัฒนาทักษะการจัดการสตริงใน MySQL ของคุณต่อไป ขั้นตอนต่อไปที่เราขอแนะนำคือการเรียนรู้เกี่ยวกับ regular expressions และเทคนิคการประมวลผลสตริงขั้นสูงอื่น ๆ.

