คุณสามารถสร้างฟังก์ชันแบบกำหนดเองเพื่อรวมสตริงที่คั่นด้วยเครื่องหมายจุลภาคใน MySQL ให้เราสร้างตารางก่อน ที่นี่ เรามีคอลัมน์ varchar ซึ่งเราจะเพิ่มตัวเลขในรูปแบบของสตริง -
mysql> สร้างตาราง DemoTable -> ( -> ListOfValues varchar(50) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.56 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable ('20,10,40,50,60'); เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----------------+| ListOfValues |+----------------+| 20,10,40,50,60 |+----------------+1 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อสร้างฟังก์ชัน -
mysql> DELIMITER ??mysql> สร้างฟังก์ชัน totalSumInCommaSeparatedString(input varchar(50)) -> คืนค่า int -> กำหนด -> ไม่มี sql -> เริ่มต้น -> ประกาศ TotalSum int ค่าเริ่มต้น 0; -> while instr(input, ",")> 0 do -> set TotalSum =totalSum + substring_index(input, ",", 1); -> ตั้งค่าอินพุต =กลาง (อินพุต, อินพุต, อินพุต, ",") + 1); -> สิ้นสุดในขณะที่; -> ส่งคืนผลรวม + อินพุต; -> สิ้นสุด ??แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.17 วินาที) mysql> DELIMITER;
ให้เราตรวจสอบฟังก์ชันด้านบนเพื่อรับสตริงที่คั่นด้วยเครื่องหมายจุลภาคใน MySQL -
mysql> เลือก totalSumInCommaSeparatedString(ListOfValues) เป็น TotalSum จาก DemoTable
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----------+| ผลรวมทั้งหมด |+----------+| 180 |+----------+1 แถวในชุด (0.00 วินาที)