Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

JSON_LENGTH() – Mengembalikan Panjang Dokumen JSON di MySQL

Di MySQL, JSON_LENGTH() fungsi mengembalikan panjang dokumen JSON.

Saat Anda memanggil fungsi ini, Anda memberikan dokumen JSON sebagai argumen. Anda juga dapat memberikan argumen jalur untuk mengembalikan panjang nilai dalam dokumen.

Sintaks

Sintaksnya seperti ini:

JSON_LENGTH(json_doc[, path])

Dimana json_doc adalah dokumen JSON untuk mengembalikan kedalaman, dan path adalah argumen opsional yang dapat digunakan untuk mengembalikan panjang nilai dalam dokumen.

Contoh 1 – Objek Kosong

Ini adalah dokumen JSON yang hanya berisi objek kosong.

SELECT JSON_LENGTH('{}') 'Result';

Hasil:

+--------+
| Result |
+--------+
|      0 |
+--------+

Contoh 2 – Objek dengan Data

Dan inilah yang terjadi jika kita menambahkan data.

SELECT JSON_LENGTH('{"Name": "Homer"}') 'Result';

Hasil:

+--------+
| Result |
+--------+
|      1 |
+--------+

Ini mengembalikan 1 karena objek berisi satu anggota. Jika kita menambahkan anggota kedua, inilah yang terjadi:

SELECT JSON_LENGTH('{"Name": "Homer", "Stupid": true}') 'Result';

Hasil:

+--------+
| Result |
+--------+
|      2 |
+--------+

Contoh 3 – Array

Panjang array adalah jumlah elemen yang dikandungnya.

SELECT JSON_LENGTH('[1, 2, 3]') 'Result';

Hasil:

+--------+
| Result |
+--------+
|      3 |
+--------+

Ini benar, bahkan jika salah satu elemen berisi larik (atau objeknya) sendiri.

SELECT JSON_LENGTH('[1, 2, [3, 4]]') 'Result';

Hasil:

+--------+
| Result |
+--------+
|      3 |
+--------+

Contoh 4 – Argumen jalur

Kami dapat menyediakan path opsional argumen untuk mengembalikan panjang jalur yang diberikan dalam dokumen.

SET @data = '{  
    "Person": {    
       "Name": "Homer", 
       "Age": 39,
       "Hobbies": ["Eating", "Sleeping"]  
    }
 }';
SELECT JSON_LENGTH(@data, '$.Person') 'Result';

Hasil:

+--------+
| Result |
+--------+
|      3 |
+--------+

Dalam hal ini kami mengembalikan panjang Person objek, yang berisi tiga anggota.

Jika kita mempersempitnya menjadi hanya salah satu dari anggota tersebut (misalnya, Name anggota), kami mendapatkan ini:

SET @data = '{  
    "Person": {    
       "Name": "Homer", 
       "Age": 39,
       "Hobbies": ["Eating", "Sleeping"]  
    }
 }';
SELECT JSON_LENGTH(@data, '$.Person.Name') 'Result';

Hasil:

+--------+
| Result |
+--------+
|      1 |
+--------+

Tetapi jika kita mempersempitnya menjadi Hobbies array, kita mendapatkan ini:

SET @data = '{  
    "Person": {    
       "Name": "Homer", 
       "Age": 39,
       "Hobbies": ["Eating", "Sleeping"]  
    }
 }';
SELECT JSON_LENGTH(@data, '$.Person.Hobbies') 'Result';

Hasil:

+--------+
| Result |
+--------+
|      2 |
+--------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. unggah file php, cara membatasi jenis unggahan file

  2. Cara Mengimpor dan Mengekspor File CSV Menggunakan PHP dan MySQL

  3. Cara Mengelompokkan Berdasarkan Bulan di MySQL

  4. FROM_UNIXTIME() Contoh – MySQL

  5. node-mysql beberapa pernyataan dalam satu permintaan