Fungsi JSON_LENGTH mengembalikan panjang data JSON pada path yang ditentukan.
Format perintah
BIGINT JSON_LENGTH(JSON <json> [, STRING <json_path>])
-- Contoh standar.
-- Mengembalikan 2.
SELECT JSON_LENGTH(JSON '{"k1":"v31","k2":300}');Parameter
json: Wajib. Data JSON dengan tipe data JSON.
json_path: Opsional. Path menuju data JSON dengan tipe data STRING. Jika tidak ditentukan, fungsi akan mengembalikan panjang seluruh data JSON secara default.
Nilai kembalian
Mengembalikan nilai BIGINT berdasarkan aturan berikut:
Jika json berupa array JSON, fungsi mengembalikan jumlah elemen dalam array tersebut.
Jika json berupa objek JSON, fungsi mengembalikan jumlah anggota dalam objek tersebut.
Jika data json bukan array maupun objek JSON, fungsi mengembalikan 1.
Jika json atau json_path bernilai null, fungsi mengembalikan null.
Fungsi ini tidak menghitung elemen atau anggota di dalam array atau objek bersarang.
Contoh
Contoh 1: Contoh dasar
-- Mengembalikan 2. SELECT JSON_LENGTH(JSON '{"k1":"v31","k2":300}'); -- Mengembalikan 6. SELECT JSON_LENGTH(JSON '[1,2,3,4,5,6]'); -- Mengembalikan 3. Panjang array atau objek bersarang tidak diperhitungkan. SELECT JSON_LENGTH( JSON '{"name": "John", "age": 22, "skills":["PHP","MySQL","JavaScript"]}' ); -- Mengembalikan 2. SELECT JSON_LENGTH(JSON '{"x": 1, "y": [1, 2]}', '$.y'); -- Mengembalikan null. SELECT JSON_LENGTH(null);Contoh 2: Fungsi mengembalikan 1 jika data json bukan array maupun objek JSON.
-- Mengembalikan 1. SELECT JSON_LENGTH(JSON 'null'); -- Mengembalikan 1. SELECT JSON_LENGTH(JSON '123'); -- Mengembalikan 1. SELECT JSON_LENGTH(JSON '123.34'); -- Mengembalikan 1. SELECT JSON_LENGTH(JSON 'true');
Fungsi terkait
JSON_LENGTH merupakan fungsi JSON. Untuk informasi lebih lanjut mengenai fungsi JSON lainnya, lihat fungsi JSON.