Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menukar Jadual Keputusan MySQL kepada Tatasusunan JSON Menggunakan Perintah SQL Biasa?

Bagaimana untuk Menukar Jadual Keputusan MySQL kepada Tatasusunan JSON Menggunakan Perintah SQL Biasa?

Patricia Arquette
Lepaskan: 2024-12-03 11:11:09
asal
498 orang telah melayarinya

How to Convert a MySQL Result Table to a JSON Array Using Plain SQL Commands?

Penukaran Jadual Hasil MySQL kepada Tatasusunan JSON Menggunakan Perintah Biasa

Dalam MySQL, adalah mungkin untuk menukar jadual hasil kepada tatasusunan JSON menggunakan fungsi terbina dalam. Pertimbangkan pertanyaan berikut:

SELECT name, phone FROM person;
Salin selepas log masuk

Yang mengembalikan jadual hasil berikut:

name phone
Jack 12345
John 23455

Penyelesaian Baharu:

Menggunakan JSON_ARRAYAGG dan JSON_OBJECT, pertanyaan berikut mencapai JSON yang dikehendaki output:

SELECT JSON_ARRAYAGG(JSON_OBJECT('name', name, 'phone', phone)) from Person;
Salin selepas log masuk

Fungsi JSON_ARRAYAGG mengagregatkan berbilang objek JSON ke dalam tatasusunan, manakala fungsi JSON_OBJECT mencipta objek dengan pasangan nilai kunci yang ditentukan.

Penyelesaian Lama:

Sebagai alternatif, anda boleh menggunakan CONCAT, GROUP_CONCAT dan JSON_OBJECT berfungsi untuk membina tatasusunan JSON:

SELECT CONCAT(
    '[', 
    GROUP_CONCAT(JSON_OBJECT('name', name, 'phone', phone)),
    ']'
) 
FROM person;
Salin selepas log masuk

Fungsi CONCAT menggabungkan rentetan, GROUP_CONCAT mengagregatkan objek JSON ke dalam senarai yang dipisahkan koma dan JSON_OBJECT mencipta objek individu>.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Jadual Keputusan MySQL kepada Tatasusunan JSON Menggunakan Perintah SQL Biasa?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan