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

JSON_KEYS() – Mengembalikan Kunci dari Objek JSON di MySQL

Di MySQL, JSON_KEYS() fungsi mengembalikan kunci dari nilai tingkat atas objek JSON. Kunci ditampilkan sebagai larik JSON, atau, jika path argumen diberikan, kunci tingkat atas dari jalur yang dipilih.

Anda memberikan dokumen JSON sebagai argumen untuk fungsi tersebut.

Anda juga dapat (secara opsional) memberikan argumen kedua untuk menentukan di mana jalur "tingkat atas" dimulai dari dalam dokumen JSON.

Sintaks

Sintaksnya seperti ini:

JSON_KEYS(json_doc[, path])

Dimana json_doc adalah dokumen JSON dan path adalah argumen opsional untuk menentukan di mana jalur "tingkat atas" dimulai dalam dokumen JSON.

Array hasil kosong jika objek yang dipilih kosong. Jika nilai tingkat atas memiliki subobjek bersarang, nilai yang dikembalikan tidak menyertakan kunci dari subobjek tersebut.

Contoh 1 – Penggunaan Dasar

Berikut ini contoh untuk didemonstrasikan.

SELECT JSON_KEYS('{"a": 1, "b": 2, "c": 3}') AS 'Result';

Hasil:

+-----------------+
| Result          |
+-----------------+
| ["a", "b", "c"] |
+-----------------+

Ini contoh lain:

SELECT 
  JSON_KEYS('{"Name": "Bart", "Age": 10}') AS 'Result';

Hasil:

+-----------------+
| Result          |
+-----------------+
| ["Age", "Name"] |
+-----------------+

Contoh 2 – Tentukan Jalur

Berikut ini contoh menentukan jalur. Hal ini memungkinkan kita untuk mendapatkan kunci dari objek bersarang (bukan hanya terbatas pada objek tingkat atas dari seluruh dokumen JSON).

SELECT 
  JSON_KEYS('{"a": 1, "b": 2, "c": {"d": 3, "e": 4, "f": 5}}', '$.c') AS 'Result';

Hasil:

+-----------------+
| Result          |
+-----------------+
| ["d", "e", "f"] |
+-----------------+

Contoh 3 – Jalur Tidak Ada

Jika Anda menentukan jalur yang tidak ada, nilai NULL akan dikembalikan.

SELECT 
  JSON_KEYS('{"a": 1, "b": 2, "c": {"d": 3, "e": 4, "f": 5}}', '$.z') AS 'Result';

Hasil:

+--------+
| Result |
+--------+
| NULL   |
+--------+

Anda juga akan mendapatkan nilai NULL jika salah satu argumennya adalah NULL atau jika argumen pertama bukan objek JSON.

Contoh 4 – Array

Array bukan objek, dan tidak berisi pasangan kunci/nilai. Oleh karena itu, Anda akan mendapatkan nilai NULL jika Anda mencoba mengembalikan kunci dari array.

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

Hasil:

+--------+
| Result |
+--------+
| NULL   |
+--------+

Namun, jika salah satu elemen array berisi objek, Anda masih dapat menggunakan path argumen untuk mendapatkan kunci dari objek itu.

SELECT JSON_KEYS('[1, 2, {"a": 1, "b": 2}]', '$[2]') AS 'Result';

Hasil:

+------------+
| Result     |
+------------+
| ["a", "b"] |
+------------+

Contoh 5 – Objek Kosong

Jika objek yang dipilih kosong, Anda akan mendapatkan array kosong.

SELECT JSON_KEYS('{}') AS 'Result';

Hasil:

+--------+
| Result |
+--------+
| []     |
+--------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL INSERT INTO table VALUES.. vs INSERT INTO table SET

  2. Panjang maksimum untuk teks tipe MySQL

  3. Bagaimana cara menghilangkan kesalahan MySQL 'Pernyataan yang disiapkan perlu disiapkan ulang'

  4. SQL pisahkan baris yang dipisahkan koma

  5. Kesalahan umum MySQL:"Mendapat kesalahan saat membaca paket komunikasi"