sql >> Databasteknik >  >> RDS >> MariaDB

MariaDB JSON_OBJECT() Förklarad

I MariaDB, JSON_OBJECT() är en inbyggd funktion som returnerar ett JSON-objekt som innehåller nyckel/värdeparen som tillhandahålls som argument.

Syntax

Syntaxen ser ut så här:

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

Funktionen accepterar valfritt antal nyckel-/värdepar.

Nyckel-/värdelistan kan också vara tom.

Exempel

Här är ett enkelt exempel för att demonstrera funktionen:

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

Resultat:

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

Inga argument

Som nämnts kan argumentlistan vara tom, i vilket fall kommer ett tomt objekt att returneras:

SELECT JSON_OBJECT();

Resultat:

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

Felaktig parameterräkning

Men om du anger argument måste de vara ett jämnt antal argument (så att varje nyckel har ett motsvarande värde).

Här är vad som händer när jag skickar bara ett argument till JSON_OBJECT() :

SELECT JSON_OBJECT("name");

Resultat:

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

Samma fel uppstår om jag skickar tre argument:

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

Resultat:

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

Och så vidare...

Nullnyckelnamn

MariaDB-dokumentationen anger att ett fel returneras om något nyckelnamn är NULL .

Däremot får jag ett annat resultat:

SELECT JSON_OBJECT(null, null);

Resultat:

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


  1. Hur ansluter jag till MySQL på Amazon EC2 från Windows?

  2. hur man hittar radstorlek i tabell

  3. Returnera en lista över database-postprofiler i SQL Server (T-SQL)

  4. Oracle Floats vs Number