Menjumlahkan Lajur Dipisahkan Koma dalam MySQL: Penyelesaian untuk Versi Legasi
Dalam MySQL versi 4, pengendalian lajur angka dipisahkan koma dipaparkan cabaran apabila cuba melakukan pengagregatan. Walau bagaimanapun, walaupun versi moden MySQL menawarkan prosedur tersimpan untuk menangani kerumitan sedemikian, ia tidak tersedia dalam MySQL 4.
Malangnya, MySQL 4 adalah versi yang sudah lapuk, dan penggunaannya amat tidak digalakkan. Keluaran terbaharu dalam cawangan 4.1 ialah 4.1.25 pada tahun 2008, menjadikannya tidak disokong dan usang. Kebanyakan pengedaran Linux telah menghentikan penyediaan MySQL 4. Jika boleh, peningkatan kepada MySQL 5 amat disyorkan.
Namun, jika peningkatan tidak dapat dilaksanakan, berikut ialah penyelesaian yang cekap untuk menjumlahkan lajur perpuluhan yang dipisahkan koma dalam MySQL 4:
<code class="mysql">DELIMITER // CREATE FUNCTION SUM_OF_LIST(s TEXT) RETURNS DOUBLE DETERMINISTIC NO SQL BEGIN DECLARE res DOUBLE DEFAULT 0; WHILE INSTR(s, ",") > 0 DO SET res = res + SUBSTRING_INDEX(s, ",", 1); SET s = MID(s, INSTR(s, ",") + 1); END WHILE; RETURN res + s; END // DELIMITER ;</code>
Contoh Penggunaan:
<code class="mysql">mysql> SELECT SUM_OF_LIST("5,2.1") AS Result; +--------+ | Result | +--------+ | 7.1 | +--------+</code>
Atas ialah kandungan terperinci Bagaimana Menjumlahkan Nilai Dipisahkan Koma dalam Lajur dalam Versi MySQL Legasi (MySQL 4)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!