sql >> Databasteknik >  >> RDS >> SQLite

SQLite JSON_TYPE()

SQLite json_type() funktion returnerar typen av det yttersta elementet i den givna JSON.

Vi tillhandahåller JSON som ett argument när vi anropar funktionen.

Vi kan valfritt passera en sökväg som gör att vi kan få typen av ett specifikt arrayelement eller objektmedlem inom JSON.

Syntax

Vi kan använda funktionen på följande sätt:

json_type(X)
json_type(X,P)

Där X representerar JSON och P är ett valfritt argument som representerar sökvägen för att få typen av.

Funktionen returnerar ett av följande SQL-textvärden: null , true , false , integer , real , text , array , eller object .

Exempel

Här är ett exempel för att visa hur det fungerar:

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

Resultat:

object

Här tillhandahöll jag bara JSON – jag gav ingen väg. I det här fallet är den yttersta JSON ett objekt.

Här är en array:

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

Resultat:

array

Vi kan till och med göra sånt här:

SELECT json_type(10.45);

Resultat:

real

I det här fallet är mitt argument egentligen inte ett JSON-objekt eller en array, utan json_type() kunde returnera sin typ ändå.

Ange en sökväg

Så här händer när vi anger en sökväg:

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

Resultat:

integer

I det här fallet angav jag sökvägen $.age , vilket resulterade i typen av age medlem återlämnas.

Låt oss ta reda på typen av name medlem:

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

Resultat:

text

Låt oss göra det på en array:

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

Resultat:

text

Det fick typen av det första elementet (SQLite-arrayer är nollbaserade, så 0 är för det första elementet).

Låt oss ta reda på vilka typer av alla element i arrayen:

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

Resultat:

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

  1. TreeView-kontroll med underformulär

  2. Hur man kör .sql-fil i Oracle SQL-utvecklarverktyg för att importera databas?

  3. Deklarera och initiera variabler på samma rad i VBA

  4. Lägg automatisk nyckelgenerering i viloläge med MySQL och Oracle