

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 | A `Decimal` mit einer Genauigkeit von 34 Ziffern, mit einer Mindestgröße ungleich Null von 1 E-999 und einer maximalen Größe von 9,999... E999. Einige Funktionen geben `Decimal`-Werte mit doppelter Genauigkeit anstelle von genau 34 Zeichen aus.  <br />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 Zeichenfolge. UTF-8  | 
| 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><br />wird in JSON serialisiert als:<pre> {"foo":null}</pre><br />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:^-?\\d\+(\\.\\d\+)?((?i)E-?\\d\+)?$. „0", „-1.2", „5" E-12 sind Beispiele für Zeichenketten, die automatisch in s konvertiert werden. Decimal | 
| 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:^-?\\d\+(\\.\\d\+)?((?i)E-?\\d\+)?$. „0", „-1.2", „5E-12“ sind allesamt Beispiele für Zeichenketten, die automatisch in Decimal s konvertiert werden. AWS IoT Versucht, die in a String zu konvertierenDecimal, und schneidet dann die 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\_nonzero\_value = True verwenden.) | 
| Decimal | Undefined. (Sie können die cast-Funktion explizit zum Umwandeln von 0 = False, any\_nonzero\_value = 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 | 