Operatori - AWS IoT Core

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Operatori

Gli operatori seguenti possono essere usati nelle clausole SELECT e WHERE.

Operatore AND

Restituisce un risultato Boolean. Esegue un'operazione AND logica. Restituisce true se gli operandi sinistro e destro sono true. In caso contrario, restituisce false. Sono necessari operandi di tipo Boolean o operandi di tipo String "true" o "false" che non facciano distinzione tra maiuscole e minuscole.

Sintassi: expression AND expression.

Operatore AND
Operando sinistro Operando destro Output
Boolean Boolean Boolean. True se entrambi gli operandi sono true. In caso contrario, false.
String/Boolean String/Boolean Se tutte le stringhe sono "true" o "false" (senza distinzione tra maiuscole e minuscole), vengono convertite in Boolean ed elaborate normalmente come tipi boolean AND boolean.
Altro valore Altro valore Undefined.

Operatore OR

Restituisce un risultato Boolean. Esegue un'operazione OR logica. Restituisce true se l'operando sinistro o quello destro è true. In caso contrario, restituisce false. Sono necessari operandi di tipo Boolean o operandi di tipo String "true" o "false" che non facciano distinzione tra maiuscole e minuscole.

Sintassi: expression OR expression.

Operatore OR
Operando sinistro Operando destro Output
Boolean Boolean Boolean. True se uno degli operandi è true. In caso contrario, false.
String/Boolean String/Boolean Se tutte le stringhe sono "true" o "false" (senza distinzione tra maiuscole e minuscole), vengono convertite in valori booleani ed elaborate normalmente come boolean OR boolean.
Altro valore Altro valore Undefined.

Operatore NOT

Restituisce un risultato Boolean. Esegue un'operazione NOT logica. Restituisce true se l'operando è false. In caso contrario, restituisce true. È necessario un operando di tipo Boolean o un operando di tipo String "true" o "false" senza distinzione tra maiuscole e minuscole.

Sintassi: NOT expression.

Operatore NOT
Operando Output
Boolean Boolean. True se l'operando è false. In caso contrario, true.
String Se la stringa è "true" o "false" (senza distinzione tra maiuscole e minuscole), viene convertita nel valore booleano corrispondente e viene restituito il valore opposto.
Altro valore Undefined.

Operatore IN

Restituisce un risultato Boolean. È possibile utilizzare l'operatore IN in una clausola WHERE per verificare se un valore corrisponde a qualsiasi valore in un array. Restituisce true se viene trovata la corrispondenza e false in caso contrario.

Sintassi: expression IN expression.

Operatore IN
Operando sinistro Operando destro Output
Int/Decimal/String/Array/Object Array Vero se l'Objectelemento Integer DecimalString/Array///viene trovato nell'array. In caso contrario, false.

Esempio:

SQL: "select * from 'a/b' where 3 in arr" JSON: {"arr":[1, 2, 3, "three", 5.7, null]}

In questo esempio, la clausola condition where 3 in arr restituirà true perché 3 è presente nell'array denominatoarr. Quindi, nell'istruzione SQL, select * from 'a/b' verrà eseguito. Questo esempio mostra anche che l'array può essere eterogeneo.

Operatore EXISTS

Restituisce un risultato Boolean. È possibile utilizzare l'operatore EXISTS in una clausola condizionale per verificare l'esistenza di elementi in una sottoquery. Restituisce true se la sottoquery restituisce uno o più elementi e false se la sottoquery non restituisce alcun elemento.

Sintassi: expression.

Esempio:

SQL: "select * from 'a/b' where exists (select * from arr as a where a = 3)" JSON: {"arr":[1, 2, 3]}

In questo esempio, la clausola condition where exists (select * from arr as a where a = 3) restituirà true perché 3 è presente nell'array denominato. arr Quindi, nell'istruzione SQL, select * from 'a/b' verrà eseguito.

Esempio:

SQL: select * from 'a/b' where exists (select * from e as e where foo = 2) JSON: {"foo":4,"bar":5,"e":[{"foo":1},{"foo":2}]}

In questo esempio, la clausola condition where exists (select * from e as e where foo = 2) verrà valutata vera perché l'array all'einterno dell'oggetto JSON contiene l'oggetto. {"foo":2} Quindi, nell'istruzione SQL, select * from 'a/b' verrà eseguito.

Operatore >

Restituisce un risultato Boolean. Restituisce true se l'operando sinistro è maggiore dell'operando destro. Entrambi gli operandi vengono convertiti in un tipo Decimal e quindi confrontati.

Sintassi: expression > expression.

Operatore >
Operando sinistro Operando destro Output
Int/Decimal Int/Decimal Boolean. True se l'operando sinistro è maggiore dell'operando destro. In caso contrario, false.
String/Int/Decimal String/Int/Decimal Se tutte le stringhe possono essere convertite in Decimal, restituisce un valore Boolean. Restituisce true se l'operando sinistro è maggiore dell'operando destro. In caso contrario, false.
Altro valore Undefined. Undefined.

Operatore >=

Restituisce un risultato Boolean. Restituisce true se l'operando sinistro è maggiore o uguale all'operando destro. Entrambi gli operandi vengono convertiti in un tipo Decimal e quindi confrontati.

Sintassi: expression >= expression.

Operatore >=
Operando sinistro Operando destro Output
Int/Decimal Int/Decimal Boolean. True se l'operando sinistro è maggiore o uguale all'operando destro. In caso contrario, false.
String/Int/Decimal String/Int/Decimal Se tutte le stringhe possono essere convertite in Decimal, restituisce un valore Boolean. Restituisce true se l'operando sinistro è maggiore o uguale all'operando destro. In caso contrario, false.
Altro valore Undefined. Undefined.

Operatore <

Restituisce un risultato Boolean. Restituisce true se l'operando sinistro è minore dell'operando destro. Entrambi gli operandi vengono convertiti in un tipo Decimal e quindi confrontati.

Sintassi: expression < expression.

Operatore <
Operando sinistro Operando destro Output
Int/Decimal Int/Decimal Boolean. True se l'operando sinistro è minore dell'operando destro. In caso contrario, false.
String/Int/Decimal String/Int/Decimal Se tutte le stringhe possono essere convertite in Decimal, restituisce un valore Boolean. Restituisce true se l'operando sinistro è minore dell'operando destro. In caso contrario, false.
Altro valore Undefined Undefined

Operatore <=

Restituisce un risultato Boolean. Restituisce true se l'operando sinistro è minore o uguale all'operando destro. Entrambi gli operandi vengono convertiti in un tipo Decimal e quindi confrontati.

Sintassi: expression <= expression.

Operatore <=
Operando sinistro Operando destro Output
Int/Decimal Int/Decimal Boolean. True se l'operando sinistro è minore o uguale all'operando destro. In caso contrario, false.
String/Int/Decimal String/Int/Decimal Se tutte le stringhe possono essere convertite in Decimal, restituisce un valore Boolean. Restituisce true se l'operando sinistro è minore o uguale all'operando destro. In caso contrario, false.
Altro valore Undefined Undefined

Operatore <>

Restituisce un risultato Boolean. Restituisce true se gli operandi sinistro e destro non sono uguali. In caso contrario, restituisce false.

Sintassi: expression <> expression.

Operatore <>
Operando sinistro Operando destro Output
Int Int True se l'operando sinistro non è uguale all'operando destro. In caso contrario, false.
Decimal Decimal True se l'operando sinistro non è uguale all'operando destro. In caso contrario, false. Int viene convertito in Decimal prima di essere confrontato.
String String True se l'operando sinistro non è uguale all'operando destro. In caso contrario, false.
Array Array True se gli elementi di ogni operando non sono uguali e non sono nello stesso ordine. In caso contrario, false
Oggetto Oggetto True se le chiavi e i valori di ogni operando non sono uguali. In caso contrario, false. L'ordine delle chiavi e dei valori non è importante.
Null Null Falso.
Qualsiasi valore Undefined Undefined.
Undefined Qualsiasi valore Undefined.
Tipo non corrispondente Tipo non corrispondente True.

Operatore =

Restituisce un risultato Boolean. Restituisce true se gli operandi sinistro e destro sono uguali. In caso contrario, restituisce false.

Sintassi: expression = expression.

Operatore =
Operando sinistro Operando destro Output
Int Int True se l'operando sinistro è uguale all'operando destro. In caso contrario, false.
Decimal Decimal True se l'operando sinistro è uguale all'operando destro. In caso contrario, false. Int viene convertito in Decimal prima di essere confrontato.
String String True se l'operando sinistro è uguale all'operando destro. In caso contrario, false.
Array Array True se gli elementi di ogni operando sono uguali e sono nello stesso ordine. In caso contrario, false.
Oggetto Oggetto True se le chiavi e i valori di ogni operando sono uguali. In caso contrario, false. L'ordine delle chiavi e dei valori non è importante.
Qualsiasi valore Undefined Undefined.
Undefined Qualsiasi valore Undefined.
Tipo non corrispondente Tipo non corrispondente Falso.

Operatore +

L'operatore "+" è un operatore di overload. Può essere usato per la concatenazione di stringhe o la somma.

Sintassi: expression + expression.

Operatore +
Operando sinistro Operando destro Output
String Qualsiasi valore Converte l'operando destro in una stringa e lo concatena alla fine dell'operando sinistro.
Qualsiasi valore String Converte l'operando sinistro in una stringa e lo concatena all'operando destro alla fine dell'operando sinistro convertito.
Int Int Int value. Somma gli operandi.
Int/Decimal Int/Decimal Decimal value. Somma gli operandi.
Altro valore Altro valore Undefined.

Operatore -

Sottrae l'operando destro dall'operando sinistro.

Sintassi: expression - expression.

Operatore -
Operando sinistro Operando destro Output
Int Int Int value. Sottrae l'operando destro dall'operando sinistro.
Int/Decimal Int/Decimal Decimal value. Sottrae l'operando destro dall'operando sinistro.
String/Int/Decimal String/Int/Decimal Se tutte le stringhe possono essere convertite in valori decimali, viene restituito un valore Decimal. Sottrae l'operando destro dall'operando sinistro. In caso contrario, restituisce Undefined.
Altro valore Altro valore Undefined.
Altro valore Altro valore Undefined.

Operatore *

Moltiplica l'operando sinistro per l'operando destro.

Sintassi: expression * expression.

Operatore *
Operando sinistro Operando destro Output
Int Int Int value. Moltiplica l'operando sinistro per l'operando destro.
Int/Decimal Int/Decimal Decimal value. Moltiplica l'operando sinistro per l'operando destro.
String/Int/Decimal String/Int/Decimal Se tutte le stringhe possono essere convertite in valori decimali, viene restituito un valore Decimal. Moltiplica l'operando sinistro per l'operando destro. In caso contrario, restituisce Undefined.
Altro valore Altro valore Undefined.

Operatore /

Divide l'operando sinistro per l'operando destro.

Sintassi: expression / expression.

Operatore /
Operando sinistro Operando destro Output
Int Int Int value. Divide l'operando sinistro per l'operando destro.
Int/Decimal Int/Decimal Decimal value. Divide l'operando sinistro per l'operando destro.
String/Int/Decimal String/Int/Decimal Se tutte le stringhe possono essere convertite in valori decimali, viene restituito un valore Decimal. Divide l'operando sinistro per l'operando destro. In caso contrario, restituisce Undefined.
Altro valore Altro valore Undefined.

Operatore %

Restituisce il resto della divisione dell'operando sinistro per l'operando destro.

Sintassi: expression % expression.

Operatore %
Operando sinistro Operando destro Output
Int Int Int value. Restituisce il resto della divisione dell'operando sinistro per l'operando destro.
String/Int/Decimal String/Int/Decimal Se tutte le stringhe possono essere convertite in valori decimali, viene restituito un valore Decimal. Restituisce il resto della divisione dell'operando sinistro per l'operando destro. In caso contrario, Undefined.
Altro valore Altro valore Undefined.