DocumentDB SQL - Funzione di controllo del tipo

Le funzioni di controllo del tipo consentono di controllare il tipo di un'espressione all'interno delle query SQL. Può essere utilizzato per determinare al volo il tipo di proprietà all'interno dei documenti quando è variabile o sconosciuto. Di seguito sono riportate le funzioni di controllo del tipo integrate supportate.

S.No. Descrizione della funzione
1

IS_ARRAY (expr)

Restituisce un valore booleano che indica se il tipo del valore è un array.

2

IS_BOOL (expr)

Restituisce un valore booleano che indica se il tipo di valore è un booleano.

3

IS_NULL (expr)

Restituisce un valore booleano che indica se il tipo del valore è nullo.

4

IS_NUMBER (expr)

Restituisce un valore booleano che indica se il tipo di valore è un numero.

5

IS_OBJECT (expr)

Restituisce un valore booleano che indica se il tipo di valore è un oggetto JSON.

6

IS_STRING (expr)

Restituisce un valore booleano che indica se il tipo del valore è una stringa.

7

IS_DEFINED (expr)

Restituisce un valore booleano che indica se alla proprietà è stato assegnato un valore.

8

IS_PRIMITIVE (expr)

Restituisce un valore booleano che indica se il tipo del valore è una stringa, un numero, un valore booleano o un valore nullo.

Diamo un'occhiata a un altro esempio in cui vengono utilizzate alcune funzioni di controllo del tipo integrate.

Di seguito è riportata la query con le funzioni di controllo del tipo.

SELECT 
   IS_ARRAY(6) AS IsArray1, 
   IS_ARRAY([6]) AS IsArray2, 
	
   IS_BOOL(6) AS IsBool1, 
   IS_BOOL(false) AS IsBool2, 
	
   IS_NULL(6) AS IsNull1, 
   IS_NULL(null) AS IsNull2, 
	
   IS_OBJECT("hello") AS IsObject1, 
   IS_OBJECT({"word": "hello"}) AS IsObject2

Quando la query precedente viene eseguita, produce il seguente output.

[ 
   { 
      "IsArray1": false, 
      "IsArray2": true, 
      "IsBool1": false, 
      "IsBool2": true,
      "IsNull1": false, 
      "IsNull2": true, 
      "IsObject1": false, 
      "IsObject2": true 
   } 
]