

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.

# Datentypen
<a name="iot-sql-data-types"></a>

Die AWS IoT Regel-Engine unterstützt alle JSON-Datentypen.


**Unterstützte Datentypen**  

| Typ | Bedeutung | 
| --- | --- | 
| Int | Eine separate Int. Maximal 34 Ziffern. | 
| Decimal |  Ein `Decimal`-Wert mit genau 34 Zeichen mit einer Mindestgröße von 1E-999 (nicht Null) und einer Maximalgröße von 9.999...E999.  Einige Funktionen geben `Decimal`-Werte mit doppelter Genauigkeit anstelle von genau 34 Zeichen aus.  Mit SQL V2 (23.03.2016) werden numerische Werte, die ganze Zahlen sind, wie z. B.`10.0`, als `Int` Wert (`10`) statt als erwarteter `Decimal` Wert () verarbeitet. `10.0` Um ganzzahlige numerische Werte zuverlässig als `Decimal`-Werte zu verarbeiten, verwenden Sie SQL V1 (2015-10-08) für die Regelabfrageanweisung.   | 
| Boolean | True oder False. | 
| String | Eine UTF-8-Zeichenfolge | 
| Array | Eine Serie von Werten, die nicht den gleichen Typ aufweisen müssen | 
| Object | Ein JSON-Wert, der aus einem Schlüssel und einem Wert besteht. Schlüssel müssen Zeichenfolgen sein. Werte können jeden Typ aufweisen. | 
| Null | Null wie von JSON definiert. Dies ist ein tatsächlicher Wert, der die Abwesenheit eines Werts darstellt. Sie können einen Null-Wert explizit erstellen, indem Sie das Schlüsselwort Null in Ihrer SQL-Anweisung verwenden. Beispiel: "SELECT NULL AS n FROM 'topic/subtopic'"  | 
| Undefined |  Kein Wert. Dies kann in JSON nicht explizit dargestellt werden, außer durch Auslassen des Werts. Z. B. im Objekt `{"foo": null}` gibt der Schlüssel "foo" NULL zurück, der Schlüssel "bar" jedoch `Undefined`. Intern behandelt die SQL-Sprache `Undefined` als Wert, kann jedoch nicht in JSON dargestellt werden. Bei einer Serialisierung in JSON sind die Ergebnisse daher `Undefined`. <pre> {"foo":null, "bar":undefined} </pre> wird in JSON serialisiert als: <pre> {"foo":null}</pre> Dementsprechend wird `Undefined` in eine leere Zeichenfolge konvertiert, wenn es selbst konvertiert wird. Funktionen, die mit ungültigen Argumenten aufgerufen werden (z. B. falsche Typen, falsche Anzahl an Argumenten usw.), geben `Undefined` zurück.   | 

## Konversionen
<a name="iot-sql-conversions"></a>

Die folgende Tabelle listet die Ergebnisse auf, wenn ein Wert eines Typs in einen anderen Typ konvertiert wird (wenn ein Wert mit dem falschen Typ an eine Funktion übergeben wird). Wenn beispielsweise der absoluten Wertfunktion "abs" (die `Int` oder `Decimal` erwartet) ein `String`-Wert übergeben wird, versucht diese, den `String`-Wert nach diesen Regeln in einen `Decimal`-Wert umzuwandeln. In diesem Fall wird "abs("-5.123")" als "abs(-5.123)" behandelt.

**Anmerkung**  
Konversionen in `Array`, `Object`, `Null` oder `Undefined` werden nicht versucht.


**In Dezimalwerte**  

| Argumenttyp | Ergebnis | 
| --- | --- | 
| Int | Ein Wert vom Typ Decimal ohne Dezimaltrennzeichen | 
| Decimal | Der Quellwert | 
| Boolean | Undefined. (Sie können die cast-Funktion explizit zum Umwandeln von true = 1.0, false = 0.0 verwenden.) | 
| String | Die SQL-Engine versucht, die Zeichenfolge als Decimal zu analysieren. AWS IoT versucht, Zeichenketten zu analysieren, die dem regulären Ausdruck entsprechen:. ^-?\$1d\$1(\$1.\$1d\$1)?((?i)E-?\$1d\$1)?\$1 „0“, „-1,2“ und „5E-12“ sind Beispiele für Zeichenfolgen, die automatisch in Werte des Typs Decimal umgewandelt werden. | 
| Array | Undefined. | 
| Object | Undefined. | 
| Null | Null. | 
| Undefined | Undefined. | 


**In Ganzzahlen**  

| Argumenttyp | Ergebnis | 
| --- | --- | 
| Int | Der Quellwert | 
| Decimal | Der Quellwert, auf den nächsten Int-Wert gerundet. | 
| Boolean | Undefined. (Sie können die cast-Funktion explizit zum Umwandeln von true = 1.0, false = 0.0 verwenden.) | 
| String |  Die SQL-Engine versucht, die Zeichenfolge als zu analysieren. Decimal AWS IoT versucht, Zeichenketten zu analysieren, die dem regulären Ausdruck entsprechen:. ^-?\$1d\$1(\$1.\$1d\$1)?((?i)E-?\$1d\$1)?\$1 „0", „-1.2", „5E-12" sind alles Beispiele für Zeichenketten, die automatisch in Decimal s umgewandelt werden. AWS IoT versucht, das in a umzuwandelnDecimal, und schneidet dann die String Dezimalstellen ab, um eine zu bilden. Decimal Int | 
| Array | Undefined. | 
| Object | Undefined. | 
| Null | Null. | 
| Undefined | Undefined. | 


**In Boolesche Werte**  

| Argumenttyp | Ergebnis | 
| --- | --- | 
| Int | Undefined. (Sie können die cast-Funktion explizit zum Umwandeln von 0 = False, any\$1nonzero\$1value = True verwenden.) | 
| Decimal | Undefined. (Sie können die cast-Funktion explizit zum Umwandeln von 0 = False, any\$1nonzero\$1value = True verwenden.) | 
| Boolean | Der ursprüngliche Wert | 
| String | "true"=wahr und "false"=falsch (ohne Beachtung der Groß- und Kleinschreibung). Andere Zeichenfolgenwerte sind Undefined. | 
| Array | Undefined. | 
| Object | Undefined. | 
| Null | Undefined. | 
| Undefined | Undefined. | 


**In Zeichenfolgen**  

| Argumenttyp | Ergebnis | 
| --- | --- | 
| Int | Eine Zeichenfolgendarstellung des Int-Werts in Standardnotation | 
| Decimal | Eine Zeichenfolge, die den Decimal-Wert in Standardnotation darstellt  | 
| Boolean | "true" oder "false". Alles in Kleinbuchstaben. | 
| String | Der ursprüngliche Wert | 
| Array | Das in JSON serialisierte Array. Die resultierende Zeichenfolge ist eine durch Kommata getrennte Liste in eckigen Klammern. Ein String ist von Anführungszeichen umschlossen. Decimal, Int, Boolean und Null sind dies nicht. | 
| Objekt | Das in JSON serialisierte Objekt. Die resultierende Zeichenfolge ist eine durch Kommata getrennte Liste von Schlüssel-Wert-Paaren, die mit geschweiften Klammern beginnt und endet. Ein String ist von Anführungszeichen umschlossen. Decimal, Int, Boolean und Null sind dies nicht. | 
| Null | Undefined. | 
| Undefined | Undefined | 