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

MariaDB JSON_COMPACT() Dijelaskan

Di MariaDB, JSON_COMPACT() adalah fungsi bawaan yang menghapus semua ruang yang tidak perlu dari dokumen JSON, sehingga sesingkat dan sesingkat mungkin, dan mengembalikan hasilnya.

Ini dapat berguna ketika Anda perlu menyimpan data JSON dalam kolom database, dan Anda tidak ingin dokumen JSON menggunakan lebih banyak ruang daripada yang diperlukan.

Untuk efek sebaliknya (yaitu untuk mempercantik dokumen JSON dengan menambahkan indentasi dan menyebarkannya ke beberapa baris), gunakan JSON_DETAILED() fungsi.

Sintaks

Sintaksnya seperti ini:

JSON_COMPACT(json_doc)

Dimana json_doc adalah dokumen JSON.

Contoh

Berikut ini contoh untuk didemonstrasikan.

SET @json_document = '{"a": [0, 1], "b": [2, 3]}';

SELECT 
    JSON_COMPACT(@json_document) AS Compact,
    @json_document AS Original;

Hasil:

+-----------------------+----------------------------+
| Compact               | Original                   |
+-----------------------+----------------------------+
| {"a":[0,1],"b":[2,3]} | {"a": [0, 1], "b": [2, 3]} |
+-----------------------+----------------------------+

Dalam hal ini, kolom pertama berisi versi yang dipadatkan, dan kolom kedua berisi dokumen JSON asli sebelum dipadatkan.

Dokumen JSON Lebih Besar

Berikut ini contoh dengan dokumen JSON yang sedikit lebih besar dan cantik.

SET @json_document = '{ 
        "_id" : 1, 
        "name" : "Wag", 
        "details" : {
            "type" : "Dog", 
            "weight" : 20,
            "awards" : { 
                "Florida Dog Awards" : "Top Dog", 
                "New York Marathon" : "Fastest Dog", 
                "Sumo 2020" : "Biggest Dog"
            }
        }
    }';
SELECT JSON_COMPACT(@json_document);

Hasil:

{"_id":1,"name":"Wag","details":{"type":"Dog","weight":20,"awards":{"Florida Dog Awards":"Top Dog","New York Marathon":"Fastest Dog","Sumo 2020":"Biggest Dog"}}}

Argumen Null

Jika argumennya adalah NULL , hasilnya adalah NULL :

SELECT JSON_COMPACT(null);

Hasil:

+--------------------+
| JSON_COMPACT(null) |
+--------------------+
| NULL               |
+--------------------+

Jumlah Parameter Salah

Tidak memberikan argumen akan menyebabkan kesalahan:

SELECT JSON_COMPACT();

Hasil:

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

Kami mendapatkan hasil yang sama jika kami memberikan terlalu banyak argumen:

SELECT JSON_COMPACT('{ "a": 1}', '{ "b": 1 }');

Hasil:

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

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

  2. 8 Fungsi untuk Mengembalikan Hari dari Tanggal di MariaDB

  3. Bagaimana FLOOR() Bekerja di MariaDB

  4. Menyebarkan Database dan Cluster yang Sangat Tersedia dengan ClusterControl

  5. Fungsi Numerik MariaDB (Daftar Lengkap)