Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menjumlahkan Nilai Dipisahkan Koma dalam MySQL 4 Tanpa Menggunakan Prosedur Tersimpan?

Bagaimanakah Saya Boleh Menjumlahkan Nilai Dipisahkan Koma dalam MySQL 4 Tanpa Menggunakan Prosedur Tersimpan?

DDD
Lepaskan: 2024-10-31 01:47:29
asal
729 orang telah melayarinya

How Can I Sum Comma-Separated Values in MySQL 4 Without Using Stored Procedures?

Menjumlahkan Lajur Dipisahkan Koma dalam MySQL 4 (Bukan 5)

Dalam MySQL 4, melakukan operasi pada lajur dipisahkan koma tanpa menggunakan alat luaran boleh mencabar kerana kekurangan keupayaan manipulasi rentetan lanjutan. Artikel ini meneroka pendekatan alternatif untuk menjumlahkan lajur sedemikian dalam MySQL 4.

Manipulasi Rentetan Bukan Trivial

Malangnya, MySQL 4 tidak menyediakan sokongan untuk prosedur tersimpan, yang menawarkan fungsi manipulasi rentetan yang lebih canggih. Ini menyukarkan untuk melakukan pengiraan kompleks pada nilai dipisahkan koma secara langsung menggunakan pernyataan SQL.

Pendekatan Alternatif

Satu pendekatan yang mungkin adalah untuk meningkatkan kepada MySQL 5 atau lebih baru, yang merangkumi sokongan untuk prosedur tersimpan dan membolehkan penciptaan fungsi tersuai untuk mengendalikan operasi tersebut. Berikut ialah satu fungsi yang boleh digunakan dalam MySQL 5.0 untuk menjumlahkan nilai yang dipisahkan koma:

<code class="sql">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>
Salin selepas log masuk

Fungsi ini boleh digunakan seperti berikut:

<code class="sql">mysql> SELECT SUM_OF_LIST("5,2.1") AS Result;
+--------+
| Result |
+--------+
|    7.1 |
+--------+</code>
Salin selepas log masuk

Limitation

Walaupun fungsi ini menyediakan penyelesaian untuk menjumlahkan nilai yang dipisahkan koma dalam MySQL 5.0 , adalah penting untuk ambil perhatian bahawa ia mungkin tidak mengendalikan semua senario dengan anggun. Sebagai contoh, ia merawat koma di belakang dan nilai kosong secara berbeza berbanding dengan persekitaran lain. Oleh itu, pengesahan dan ujian yang teliti disyorkan apabila menggunakan pendekatan ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjumlahkan Nilai Dipisahkan Koma dalam MySQL 4 Tanpa Menggunakan Prosedur Tersimpan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan