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

MariaDB JSON_OBJECT() Objaśnienie

W MariaDB, JSON_OBJECT() to wbudowana funkcja, która zwraca obiekt JSON zawierający pary klucz/wartość dostarczone jako argumenty.

Składnia

Składnia wygląda tak:

JSON_OBJECT([key, value[, key, value] ...])

Funkcja akceptuje dowolną liczbę par klucz/wartość.

Lista klucz/wartość może być również pusta.

Przykład

Oto prosty przykład demonstrujący funkcję:

SELECT JSON_OBJECT("name", "Homer", "type", "Idiot");

Wynik:

+-----------------------------------------------+
| JSON_OBJECT("name", "Homer", "type", "Idiot") |
+-----------------------------------------------+
| {"name": "Homer", "type": "Idiot"}            |
+-----------------------------------------------+

Brak argumentów

Jak wspomniano, lista argumentów może być pusta, w takim przypadku zostanie zwrócony pusty obiekt:

SELECT JSON_OBJECT();

Wynik:

+---------------+
| JSON_OBJECT() |
+---------------+
| {}            |
+---------------+

Nieprawidłowa liczba parametrów

Jeśli jednak podasz argumenty, muszą one być parzystą liczbą argumentów (tak, aby każdy klucz miał odpowiednią wartość).

Oto, co się dzieje, gdy przekazuję tylko jeden argument do JSON_OBJECT() :

SELECT JSON_OBJECT("name");

Wynik:

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

Ten sam błąd pojawia się, jeśli przekażę trzy argumenty:

SELECT JSON_OBJECT("name", "Homer", "type");

Wynik:

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

I tak dalej…

Nazwy kluczy pustych

Dokumentacja MariaDB stwierdza, że ​​jeśli jakakolwiek nazwa klucza ma wartość NULL, zwracany jest błąd .

Otrzymuję jednak inny wynik:

SELECT JSON_OBJECT(null, null);

Wynik:

+-------------------------+
| JSON_OBJECT(null, null) |
+-------------------------+
| {"": null}              |
+-------------------------+


  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 skonfigurować replikację między klastrami dla klastra Percona XtraDB lub MariaDB?

  2. Porównanie rozwiązań przełączania awaryjnego DBaaS z ręcznymi konfiguracjami odzyskiwania

  3. ClusterControl — Zaawansowane zarządzanie kopiami zapasowymi — mariabackup Część III

  4. Przegląd MariaDB Xpand (dawniej ClustrixDB)

  5. Zasoby kopii zapasowych baz danych MySQL i MariaDB