sql >> Database >  >> RDS >> SQLite

SQLite JSON_TYPE()

De SQLite json_type() functie retourneert het type van het buitenste element van de gegeven JSON.

We geven de JSON als argument wanneer we de functie aanroepen.

We kunnen optioneel een pad doorgeven, waarmee we het type van een specifiek array-element of objectlid binnen de JSON kunnen krijgen.

Syntaxis

We kunnen de functie op de volgende manieren gebruiken:

json_type(X)
json_type(X,P)

Waar X vertegenwoordigt de JSON, en P is een optioneel argument dat het pad vertegenwoordigt om het type te krijgen.

De functie retourneert een van de volgende SQL-tekstwaarden: null , true , false , integer , real , text , array , of object .

Voorbeeld

Hier is een voorbeeld om te laten zien hoe het werkt:

SELECT json_type('{ "name" : "Fluffy", "age" : 10 }');

Resultaat:

object

Hier heb ik alleen de JSON opgegeven - ik heb geen pad opgegeven. In dit geval is de buitenste JSON een object.

Hier is een array:

SELECT json_type('[ 1, 2, 3 ]');

Resultaat:

array

We kunnen zelfs dit soort dingen doen:

SELECT json_type(10.45);

Resultaat:

real

In dit geval is mijn argument eigenlijk geen JSON-object of -array, maar json_type() kon zijn type toch teruggeven.

Geef een pad op

Dit is wat er gebeurt als we een pad specificeren:

SELECT json_type('{ "name" : "Fluffy", "age" : 10 }', '$.age');

Resultaat:

integer

In dit geval heb ik een pad gespecificeerd van $.age , wat resulteerde in het type age lid wordt teruggestuurd.

Laten we het type van de name . nemen lid:

SELECT json_type('{ "name" : "Fluffy", "age" : 10 }', '$.name');

Resultaat:

text

Laten we het op een array doen:

SELECT json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[0]');

Resultaat:

text

Dat kreeg het type van het eerste element (SQLite-arrays zijn op nul gebaseerd, dus 0 is voor het eerste element).

Laten we de typen van alle elementen in de array bekijken:

SELECT 
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[0]') AS "0",
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[1]') AS "1",
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[2]') AS "2",
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[3]') AS "3",
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[4]') AS "4",
    json_type('[ "Wag", 2, 1.5, null, true, false  ]', '$[5]') AS "5";

Resultaat:

+------+---------+------+------+------+-------+
|  0   |    1    |  2   |  3   |  4   |   5   |
+------+---------+------+------+------+-------+
| text | integer | real | null | true | false |
+------+---------+------+------+------+-------+

  1. Hoe de standaard MySQL/MariaDB-poort in Linux te wijzigen

  2. Vraag laatste N gerelateerde rijen per rij op

  3. Download de taal die momenteel in SQL Server wordt gebruikt

  4. Hoe komt het dat sqlplus geen verbinding maakt?