MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

MariaDB JSON_COMPACT() Objaśnienie

W MariaDB, JSON_COMPACT() to wbudowana funkcja, która usuwa wszystkie niepotrzebne spacje z dokumentu JSON, aby był jak najkrótszy i zwarty, i zwraca wynik.

Może to być przydatne, gdy musisz przechowywać dane JSON w kolumnie bazy danych i nie chcesz, aby dokumenty JSON zajmowały więcej miejsca niż to konieczne.

Aby uzyskać efekt odwrotny (tj. upiększyć dokument JSON przez dodanie wcięć i rozłożenie go na wiele wierszy), użyj JSON_DETAILED() funkcja.

Składnia

Składnia wygląda tak:

JSON_COMPACT(json_doc)

Gdzie json_doc jest dokumentem JSON.

Przykład

Oto przykład do zademonstrowania.

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

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

Wynik:

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

W takim przypadku pierwsza kolumna zawiera skompaktowaną wersję, a druga kolumna zawiera oryginalny dokument JSON przed jego skompaktowaniem.

Większy dokument JSON

Oto przykład z nieco większym, upiększonym dokumentem JSON.

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);

Wynik:

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

Argumenty zerowe

Jeśli argument to NULL , wynik to NULL :

SELECT JSON_COMPACT(null);

Wynik:

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

Nieprawidłowa liczba parametrów

Brak argumentów skutkuje błędem:

SELECT JSON_COMPACT();

Wynik:

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

Ten sam wynik otrzymujemy, jeśli podamy zbyt wiele argumentów:

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

Wynik:

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. Jak TO_DAYS() działa w MariaDB?

  2. Jak DIV działa w MariaDB

  3. Jak FIND_IN_SET() działa w MariaDB?

  4. Co to jest klaster MariaDB Enterprise?

  5. MariaDB JSON_QUOTE() Objaśnienie