sql >> Databáze >  >> RDS >> SQLite

SQLite JSON_TYPE()

SQLite json_type() funkce vrací typ nejvzdálenějšího prvku daného JSON.

Při volání funkce poskytujeme JSON jako argument.

Volitelně můžeme předat cestu, která nám umožňuje získat typ konkrétního prvku pole nebo členu objektu v rámci JSON.

Syntaxe

Funkci můžeme použít následujícími způsoby:

json_type(X)
json_type(X,P) 

Kde X představuje JSON a P je volitelný argument, který představuje cestu k získání typu.

Funkce vrací jednu z následujících textových hodnot SQL: null , true , false , integer , real , text , array nebo object .

Příklad

Zde je příklad demonstrující, jak to funguje:

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

Výsledek:

objekt

Zde jsem poskytl pouze JSON – neuvedl jsem cestu. V tomto případě je nejvzdálenější JSON objekt.

Zde je pole:

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

Výsledek:

pole

Můžeme dokonce dělat věci jako toto:

SELECT json_type(10.45); 

Výsledek:

skutečné

V tomto případě můj argument ve skutečnosti není objekt nebo pole JSON, ale json_type() stejně dokázal vrátit svůj typ.

Zadejte cestu

Zde je to, co se stane, když zadáme cestu:

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

Výsledek:

celé číslo

V tomto případě jsem zadal cestu $.age , což vedlo k typu age člen se vrací.

Pojďme získat typ name člen:

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

Výsledek:

text

Udělejme to na poli:

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

Výsledek:

text

To získalo typ prvního prvku (pole SQLite jsou založeny na nule, takže 0 je pro první prvek).

Pojďme získat typy všech prvků v poli:

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

Výsledek:

+------+---------+------+------+------+-------+ | 0 | 1 | 2 | 3 | 4 | 5 |+------+---------+------+------+------+-------+| text | celé číslo | skutečný | null | pravda | nepravda |+------+---------+------+------+------+-------+ 
  1. Co je databáze Greenplum? Úvod do databáze velkých dat

  2. Jak exportovat data z Oracle SQL Developer do Excelu?

  3. Dotaz MySQL vyhledá hodnoty v řetězci odděleném čárkou

  4. Implementace komentářů a hodnocení Líbí se v databázi