ฟังก์ชันการจัดการสตริงของ MySQL อธิบาย: SUBSTRING, LEFT, RIGHT & SUBSTRING_INDEX พร้อมตัวอย่างการใช้งานจริง

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 และเทคนิคการประมวลผลสตริงขั้นสูงอื่น ๆ.