

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Operatoren
<a name="iot-sql-operators"></a>

Die folgenden Operatoren können in SELECT- und WHERE-Klauseln verwendet werden. 

## AND-Operator
<a name="iot-sql-operators-and"></a>

Gibt ein Ergebnis vom Typ `Boolean` zurück. Führt einen logischen AND-Vorgang aus. Gibt "true" zurück, wenn die Operanden links und rechts wahr sind. Ansonsten wird „false“ zurückgegeben. Operanden vom Typ `Boolean` oder die Zeichenfolgenoperanden „true“ oder „false“ (ohne Beachtung der Groß- und Kleinschreibung) sind erforderlich.

*Syntax:* ` expression AND expression`.


**AND-Operator**  

| Left Operator | Right operator | Output | 
| --- | --- | --- | 
| Boolean | Boolean | Boolean. True, wenn beide Operanden True sind. Ansonsten „false“. | 
| String/Boolean | String/Boolean | Wenn alle Zeichenfolgen „true“ oder „false“ (ohne Beachtung der Groß- und Kleinschreibung) sind, werden sie in den Typ Boolean konvertiert und normal als boolean AND boolean verarbeitet. | 
| Anderer Wert | Anderer Wert | Undefined. | 

## OR-Operator
<a name="iot-sql-operators-or"></a>

Gibt ein Ergebnis vom Typ `Boolean` zurück. Führt einen logischen OR-Vorgang aus. Gibt „true” zurück, wenn der linke oder der rechte Operand wahr ist. Ansonsten wird „false“ zurückgegeben. Operanden vom Typ `Boolean` oder die Zeichenfolgenoperanden „true“ oder „false“ (ohne Beachtung der Groß- und Kleinschreibung) sind erforderlich.

*Syntax:* ` expression OR expression`.


**OR-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Boolean | Boolean | Boolean. True, wenn einer der Operanden True ist. Ansonsten „false“. | 
| String/Boolean | String/Boolean | Wenn alle Zeichenfolgen „true“ oder „false“ (ohne Beachtung der Groß- und Kleinschreibung) sind, werden sie in boolesche Werte konvertiert und normal als boolean OR boolean verarbeitet. | 
| Anderer Wert | Anderer Wert | Undefined. | 

## NOT-Operator
<a name="iot-sql-operators-not"></a>

Gibt ein Ergebnis vom Typ `Boolean` zurück. Führt einen logischen NOT-Vorgang aus. Gibt „true” zurück, wenn der Operand falsch ist. Gibt andernfalls „true” zurück. Ein `Boolean` Operand oder der Zeichenfolgenoperand „true“ oder „false“ (ohne Beachtung der Groß- und Kleinschreibung) ist erforderlich.

*Syntax:* `NOT expression`.


**NOT-Operator**  

| Operand | Ausgabe | 
| --- | --- | 
| Boolean | Boolean. True, wenn der Operand False ist. Verwenden Sie andernfalls "true". | 
| String | Ist die Zeichenfolge „true“ oder „false“ (ohne Beachtung der Groß- und Kleinschreibung), wird sie in den entsprechenden booleschen Wert konvertiert und der gegenteilige Wert wird zurückgegeben. | 
| Anderer Wert | Undefined. | 

## IN-Operator
<a name="iot-sql-operators-in"></a>

Gibt ein Ergebnis vom Typ `Boolean` zurück. Sie können den IN-Operator in einer WHERE-Klausel verwenden, um zu überprüfen, ob ein Wert mit einem Wert in einem Array übereinstimmt. Er gibt „true“ zurück, wenn die Übereinstimmung gefunden wird, andernfalls „false“.

*Syntax:* ` expression IN expression`.


**IN-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Int/Decimal/String/Array/Object | Array | Stimmt, wenn das Object Element Integer Decimal StringArray////im Array gefunden wird. Ansonsten „false“. | 

*Beispiel:*

```
SQL: "select * from 'a/b' where 3 in arr"

JSON: {"arr":[1, 2, 3, "three", 5.7, null]}
```

In diesem Beispiel `where 3 in arr` wird die Bedingungsklausel als wahr ausgewertet, weil 3 in dem genannten Array vorhanden ist`arr`. Daher `select * from 'a/b'` wird in der SQL-Anweisung ausgeführt. Dieses Beispiel zeigt auch, dass das Array heterogen sein kann.

## EXISTS-Operator
<a name="iot-sql-operators-exists"></a>

Gibt ein Ergebnis vom Typ `Boolean` zurück. Sie können den EXISTS-Operator in einer Bedingungsklausel verwenden, um zu testen, ob Elemente in einer Unterabfrage vorhanden sind. Er gibt true zurück, wenn die Unterabfrage ein oder mehrere Elemente zurückgibt, und false, wenn die Unterabfrage keine Elemente zurückgibt. 

*Syntax:* ` expression`.

*Beispiel:*

```
SQL: "select * from 'a/b' where exists (select * from arr as a where a = 3)"

JSON: {"arr":[1, 2, 3]}
```

In diesem Beispiel `where exists (select * from arr as a where a = 3)` wird die Bedingungsklausel als wahr ausgewertet, weil 3 in dem genannten Array vorhanden ist. `arr` Daher `select * from 'a/b'` wird in der SQL-Anweisung ausgeführt.

*Beispiel:*

```
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 diesem Beispiel `where exists (select * from e as e where foo = 2)` wird die Bedingungsklausel als wahr ausgewertet, da das Array `e` innerhalb des JSON-Objekts das Objekt enthält`{"foo":2}`. Daher `select * from 'a/b'` wird in der SQL-Anweisung ausgeführt.

## >-Operator
<a name="iot-sql-operators-greater"></a>

Gibt ein Ergebnis vom Typ `Boolean` zurück. Gibt "true" zurück, wenn der linke Operand größer ist als der rechte Operand. Beide Operanden werden in den Typ `Decimal` konvertiert und anschließend verglichen. 

*Syntax:* `expression > expression`.


**>-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Int/Decimal | Int/Decimal | Boolean. „true“, wenn der linke Operand größer ist als der rechte Operand. Ansonsten „false“. | 
| String/Int/Decimal | String/Int/Decimal | Wenn alle Zeichenfolgen in den Typ Decimal konvertiert werden können: Boolean. Gibt "true" zurück, wenn der linke Operand größer ist als der rechte Operand. Ansonsten „false“. | 
| Anderer Wert | Undefined. | Undefined. | 

## >=-Operator
<a name="iot-sql-operators-greater-equal"></a>

Gibt ein Ergebnis vom Typ `Boolean` zurück. Gibt "true" zurück, wenn der linke Operand mindestens genauso groß ist wie der rechte Operand. Beide Operanden werden in den Typ `Decimal` konvertiert und anschließend verglichen. 

*Syntax:* `expression >= expression`.


**>=-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Int/Decimal | Int/Decimal | Boolean. „true“, wenn der linke Operand mindestens genauso groß ist wie der rechte Operand. Ansonsten „false“. | 
| String/Int/Decimal | String/Int/Decimal | Wenn alle Zeichenfolgen in den Typ Decimal konvertiert werden können: Boolean. Gibt "true" zurück, wenn der linke Operand mindestens genauso groß ist wie der rechte Operand. Ansonsten „false“. | 
| Anderer Wert | Undefined. | Undefined. | 

## <-Operator
<a name="iot-sql-operators-less"></a>

Gibt ein Ergebnis vom Typ `Boolean` zurück. Gibt "true" zurück, wenn der linke Operand kleiner ist als der rechte Operand. Beide Operanden werden in den Typ `Decimal` konvertiert und anschließend verglichen. 

*Syntax:* `expression < expression`.


**<-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Int/Decimal | Int/Decimal | Boolean. „true“, wenn der linke Operand kleiner ist als der rechte Operand. Ansonsten „false“. | 
| String/Int/Decimal | String/Int/Decimal | Wenn alle Zeichenfolgen in den Typ Decimal konvertiert werden können: Boolean. Gibt "true" zurück, wenn der linke Operand kleiner ist als der rechte Operand. Ansonsten „false“. | 
| Anderer Wert | Undefined | Undefined | 

## <=-Operator
<a name="iot-sql-operators-less-equal"></a>

Gibt ein Ergebnis vom Typ `Boolean` zurück. Gibt "true" zurück, wenn der linke Operand höchstens genauso groß ist wie der rechte Operand. Beide Operanden werden in den Typ `Decimal` konvertiert und anschließend verglichen. 

*Syntax:* `expression <= expression`.


**<=-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Int/Decimal | Int/Decimal | Boolean. „true“, wenn der linke Operand höchstens genauso groß ist wie der rechte Operand. Ansonsten „false“. | 
| String/Int/Decimal | String/Int/Decimal | Wenn alle Zeichenfolgen in den Typ Decimal konvertiert werden können: Boolean. Gibt "true" zurück, wenn der linke Operand höchstens genauso groß ist wie der rechte Operand. Ansonsten „false“. | 
| Anderer Wert | Undefined | Undefined | 

## <>-Operator
<a name="iot-sql-operators-not-eq"></a>

Gibt ein Ergebnis vom Typ `Boolean` zurück. Gibt „true” zurück, wenn die Operanden links und rechts nicht gleich sind. Ansonsten wird "false" zurückgegeben. 

*Syntax:* ` expression <> expression`.


**<>-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Int | Int | "True", wenn der linke Operand und der rechte Operand nicht gleich sind; ansonsten "false". Ansonsten „false“. | 
| Decimal | Decimal | "True", wenn der linke Operand und der rechte Operand nicht gleich sind; ansonsten "false". Ansonsten "false". Der Typ Int wird vor dem Vergleichen in den Typ Decimal umgewandelt. | 
| String | String | "True", wenn der linke Operand und der rechte Operand nicht gleich sind; ansonsten "false". Ansonsten „false“. | 
| Array | Array | "True", wenn die Elemente in den einzelnen Operanden nicht gleich sind und nicht in der gleichen Reihenfolge vorliegen. Ansonsten "false". | 
| Objekt | Objekt | "True", wenn die Schlüssel und Werte der einzelnen Operanden nicht gleich sind. Ansonsten „false“. Die Reihenfolge von keys/values ist unwichtig. | 
| Null | Null | Falsch. | 
| Beliebiger Wert | Undefined | Undefined | 
| Undefined | Beliebiger Wert | Undefined | 
| Falscher Typ | Falscher Typ | true | 

## =-Operator
<a name="iot-sql-operators-eq"></a>

Gibt ein Ergebnis vom Typ `Boolean` zurück. Gibt „true” zurück, wenn die Operanden links und rechts gleich sind. Ansonsten wird "false" zurückgegeben. 

*Syntax:* ` expression = expression`.


**=-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Int | Int | "True", wenn der linke Operand und der rechte Operand nicht gleich sind. Ansonsten „false“. | 
| Decimal | Decimal | "True", wenn der linke Operand und der rechte Operand nicht gleich sind. Ansonsten "false". Der Typ Int wird vor dem Vergleichen in den Typ Decimal umgewandelt. | 
| String | String | "True", wenn der linke Operand und der rechte Operand nicht gleich sind. Ansonsten „false“. | 
| Array | Array | "True", wenn die Elemente in den einzelnen Operanden gleich sind und in der gleichen Reihenfolge vorliegen. Ansonsten „false“. | 
| Objekt | Objekt | "True", wenn die Schlüssel und Werte der einzelnen Operanden gleich sind. Ansonsten „false“. Die Reihenfolge von keys/values ist unwichtig. | 
| Beliebiger Wert | Undefined | Undefined. | 
| Undefined | Beliebiger Wert | Undefined. | 
| Falscher Typ | Falscher Typ | "false" | 

## \$1-Operator
<a name="iot-sql-operators-plus"></a>

"\$1" ist ein überladener Operator. Er kann zum Verketten von Zeichenfolgen oder zum Addieren verwendet werden. 

*Syntax:* ` expression + expression`.


**\$1-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| String | Beliebiger Wert | Konvertiert den rechten Operanden in eine Zeichenfolge und hängt ihn an den linken Operanden an | 
| Beliebiger Wert | String | Konvertiert den linken Operanden in eine Zeichenfolge und hängt den rechten Operanden an den konvertierten linken Operanden an | 
| Int | Int | Int Wert. Addiert Operanden. | 
| Int/Decimal | Int/Decimal | Decimal Wert. Addiert Operanden. | 
| Anderer Wert | Anderer Wert | Undefined. | 

## --Operator
<a name="iot-sql-operators-sub"></a>

Subtrahiert den rechten Operanden vom linken Operanden 

*Syntax:* ` expression - expression`.


**--Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Int | Int | Int Wert. Subtrahiert den rechten Operanden vom linken Operanden. | 
| Int/Decimal | Int/Decimal | Decimal Wert. Subtrahiert den rechten Operanden vom linken Operanden. | 
| String/Int/Decimal | String/Int/Decimal | Wenn alle Zeichenfolgen korrekt zu Dezimalwerten konvertiert wurden, wird ein Decimal-Wert zurückgegeben. Subtrahiert den rechten Operanden vom linken Operanden. Gibt andernfalls Undefined zurück. | 
| Anderer Wert | Anderer Wert | Undefined. | 
| Anderer Wert | Anderer Wert | Undefined. | 

## \$1-Operator
<a name="iot-sql-operators-mult"></a>

Multipliziert den linken Operanden mit dem rechten Operanden 

*Syntax:* ` expression * expression`.


**\$1-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Int | Int | Int Wert. Multipliziert den linken Operanden mit dem rechten Operanden | 
| Int/Decimal | Int/Decimal | Decimal Wert. Multipliziert den linken Operanden mit dem rechten Operanden | 
| String/Int/Decimal | String/Int/Decimal | Wenn alle Zeichenfolgen korrekt zu Dezimalwerten konvertiert wurden, wird ein Decimal-Wert zurückgegeben. Multipliziert den linken Operanden mit dem rechten Operanden Gibt andernfalls Undefined zurück. | 
| Anderer Wert | Anderer Wert | Undefined. | 

## /-Operator
<a name="iot-sql-operators-div"></a>

Dividiert den linken Operanden durch den rechten Operanden 

*Syntax:* ` expression / expression`.


**/-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Int | Int | Int Wert. Dividiert den linken Operanden durch den rechten Operanden | 
| Int/Decimal | Int/Decimal | Decimal Wert. Dividiert den linken Operanden durch den rechten Operanden | 
| String/Int/Decimal | String/Int/Decimal | Wenn alle Zeichenfolgen korrekt zu Dezimalwerten konvertiert wurden, wird ein Decimal-Wert zurückgegeben. Dividiert den linken Operanden durch den rechten Operanden Gibt andernfalls Undefined zurück. | 
| Anderer Wert | Anderer Wert | Undefined. | 

## %-Operator
<a name="iot-sql-operators-mod"></a>

Gibt den Rest zurück, der beim Dividieren des linken Operanden durch den rechten Operanden entsteht. 

*Syntax:* ` expression % expression`.


**%-Operator**  

| Left operator | Right operator | Output | 
| --- | --- | --- | 
| Int | Int | Int Wert. Gibt den Rest zurück, der beim Dividieren des linken Operanden durch den rechten Operanden entsteht. | 
| String/Int/Decimal | String/Int/Decimal | Wenn alle Zeichenfolgen korrekt zu Dezimalwerten konvertiert wurden, wird ein Decimal-Wert zurückgegeben. Gibt den Rest zurück, der beim Dividieren des linken Operanden durch den rechten Operanden entsteht. Andernfalls Undefined. | 
| Anderer Wert | Anderer Wert | Undefined. | 