sql >> Databasteknik >  >> RDS >> MariaDB

MariaDB JSON_VALID() Förklarad

I MariaDB, JSON_VALID() är en inbyggd funktion som låter dig kontrollera om ett värde är ett giltigt JSON-dokument eller inte.

Du skickar värdet som ett argument och JSON_VALID() returnerar 1 om det är ett giltigt JSON-dokument och 0 om inte.

Syntax

Syntaxen ser ut så här:

JSON_VALID(value)

Exempel

Här är ett exempel att visa.

SELECT JSON_VALID('{ "product" : "Cup" }');

Resultat:

+-------------------------------------+
| JSON_VALID('{ "product" : "Cup" }') |
+-------------------------------------+
|                                   1 |
+-------------------------------------+

I det här fallet är argumentet ett giltigt JSON-dokument.

Så här händer om vi tar bort en del av dokumentet:

SELECT JSON_VALID('{ "product" }');

Resultat:

+-----------------------------+
| JSON_VALID('{ "product" }') |
+-----------------------------+
|                           0 |
+-----------------------------+

Nu är det inte ett giltigt JSON-dokument.

Arrayer

Arrayer anses vara ett giltigt JSON-dokument.

Exempel:

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

Resultat:

+---------------------------+
| JSON_VALID('[ 1, 2, 3 ]') |
+---------------------------+
|                         1 |
+---------------------------+

Nollargument

Om argumentet är NULL , resultatet är NULL :

SELECT JSON_VALID(null);

Resultat:

+------------------+
| JSON_VALID(null) |
+------------------+
|             NULL |
+------------------+

Felaktig parameterräkning

Anropar JSON_VALID() utan argument resulterar i ett fel:

SELECT JSON_VALID();

Resultat:

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

Det är samma sak när du ger för många argument:

SELECT JSON_VALID('a', 'b');

Resultat:

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

  1. Oracle IN vs finns skillnad?

  2. Exempel på Oracle IF-villkor

  3. Lösningar för INFOGA ELLER UPPDATERA på SQL Server

  4. Hur fixar man fel i pg_dump-versionen?