MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

MariaDB JSON_MERGE() Dijelaskan

Di MariaDB, JSON_MERGE() adalah fungsi bawaan yang menggabungkan dua atau lebih dokumen JSON dan mengembalikan hasilnya.

 JSON_MERGE() fungsi telah ditinggalkan, dan untuk menghindari masalah di masa mendatang, Anda harus menggunakan JSON_MERGE_PATCH() fungsi sebagai gantinya. JSON_MERGE_PATCH() function adalah pengganti yang sesuai dengan RFC 7396 untuk JSON_MERGE() .

Sintaks

Sintaksnya seperti ini:

JSON_MERGE(json_doc, json_doc[, json_doc] ...)

Dimana json_doc adalah dokumen JSON untuk digabungkan.

Contoh

Berikut ini contoh untuk didemonstrasikan.

SELECT JSON_MERGE('{"name":"Wag"}', '{"type":"Dog"}');

Hasil:

+------------------------------------------------+
| JSON_MERGE('{"name":"Wag"}', '{"type":"Dog"}') |
+------------------------------------------------+
| {"name": "Wag", "type": "Dog"}                 |
+------------------------------------------------+

Kita dapat melihat bahwa kedua dokumen tersebut telah digabungkan menjadi satu.

Berikut adalah contoh yang menggabungkan tiga dokumen:

SELECT JSON_MERGE(
    '{ "name" : "Wag" }', 
    '{ "type" : "Dog" }',
    '{ "score" : [ 9, 7, 8 ] }'
    ) AS Result;

Hasil:

+----------------------------------------------------+
| Result                                             |
+----------------------------------------------------+
| {"name": "Wag", "type": "Dog", "score": [9, 7, 8]} |
+----------------------------------------------------+

Array

Satu perbedaan antara JSON_MERGE() dan JSON_MERGE_PATCH() apakah itu JSON_MERGE() menggabungkan array (JSON_MERGE_PATCH() tidak):

SELECT JSON_MERGE(
    '[1,2,3]', 
    '[4,5,6]'
    ) AS Result;

Hasil:

+--------------------+
| Result             |
+--------------------+
| [1, 2, 3, 4, 5, 6] |
+--------------------+

Mencoba ini dengan JSON_MERGE_PATCH() hanya menghasilkan larik kedua yang dikembalikan.

Argumen Null

Jika ada argumen NULL , hasilnya adalah NULL :

SELECT 
    JSON_MERGE('{"a":1}', null) AS a,
    JSON_MERGE(null, '{"a":1}') AS b,
    JSON_MERGE(null, null) AS c;

Hasil:

+------+------+------+
| a    | b    | c    |
+------+------+------+
| NULL | NULL | NULL |
+------+------+------+

Jumlah Parameter Salah

Memanggil fungsi tanpa argumen menghasilkan kesalahan:

SELECT JSON_MERGE();

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_MERGE'

Sama halnya jika Anda hanya memberikan satu argumen:

SELECT JSON_MERGE('{"a":1}');

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_MERGE'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana FORMAT() Bekerja di MariaDB

  2. Bagaimana REGEXP_REPLACE() Bekerja di MariaDB

  3. Praktik Terbaik dalam Penskalaan Basis Data:Bagian Kedua

  4. Cara Menyebarkan Database Chamilo MariaDB untuk Ketersediaan Tinggi

  5. ClusterControl CMON HA untuk Database Terdistribusi Ketersediaan Tinggi - Bagian Kedua (Pengaturan Akses GUI)