MariaDB
 sql >> Database >  >> RDS >> MariaDB

Spiegazione di MariaDB JSON_OBJECT()

In MariaDB, JSON_OBJECT() è una funzione incorporata che restituisce un oggetto JSON contenente le coppie chiave/valore fornite come argomenti.

Sintassi

La sintassi è questa:

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

La funzione accetta un numero qualsiasi di coppie chiave/valore.

L'elenco di chiavi/valori può anche essere vuoto.

Esempio

Ecco un semplice esempio per dimostrare la funzione:

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

Risultato:

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

Nessun argomento

Come accennato, l'elenco degli argomenti può essere vuoto, nel qual caso verrà restituito un oggetto vuoto:

SELECT JSON_OBJECT();

Risultato:

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

Conteggio parametri errato

Tuttavia, se fornisci argomenti, devono essere un numero pari di argomenti (in modo che ogni chiave abbia un valore corrispondente).

Ecco cosa succede quando passo un solo argomento a JSON_OBJECT() :

SELECT JSON_OBJECT("name");

Risultato:

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

Lo stesso errore si verifica se passo tre argomenti:

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

Risultato:

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

E così via...

Nomi chiavi nulli

La documentazione di MariaDB afferma che viene restituito un errore se un nome di chiave è NULL .

Tuttavia, ottengo un risultato diverso:

SELECT JSON_OBJECT(null, null);

Risultato:

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