Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.
Datentypen
StackQL-Datentypen stellen Werte für Ein- oder Ausgabefelder (Eigenschaften oder Parameter) dar, die in Cloud-Ressourcen verwendet werden. Die StackQL-Datentypen sind in der folgenden Tabelle aufgeführt:
| StackQL-Typ | Beschreibung | Beispiel |
|---|---|---|
string | Folge von Unicode-Zeichen in einfachen Anführungszeichen | 'mybucket' |
array | geordnete Sammlung von Werten, eingeschlossen in eckige Klammern [ ] und durch Komma getrennt | [0,1,2] |
object | ungeordnete Menge von null oder mehr Name/Wert-Paaren, eingeschlossen in { } und durch Komma getrennt | {"name": "mydb"} |
boolean | true oder false, boolesche Werte stehen nicht in Anführungszeichen und werden als String-Werte behandelt | true |
integer | eine ganze Zahl, die positiv, negativ oder null sein kann | 2 |
double | Gleitkommazahl mit doppelter Genauigkeit, kann positiv oder negativ sein | 0.95 |
StackQL-Datentypen entsprechen den Datentypen, die die APIs aller großen Cloud-Anbieter bereitstellen.
Typkonvertierung
CAST(expression AS type) und CONVERT(expression, type) konvertieren einen Wert in einen anderen Typ. Zusätzlich zu den aus der MySQL-Grammatik übernommenen Konvertierungstypen (CHAR, DATE, DATETIME, DECIMAL, SIGNED, UNSIGNED, TIME, JSON) akzeptiert StackQL ab v1.0 auch TEXT, INTEGER, INT, BIGINT, BOOLEAN und BOOL. Die Konvertierung wird vom SQL-Backend ausgeführt, ihre Semantik ist daher die von SQLite oder PostgreSQL. Konvertierungen werden häufig verwendet, um eine typisierte Sitzungsvariable mit einer String-Spalte zu vergleichen:
SET some_id = 42;
SELECT CAST($some_id AS TEXT) AS id_text,
CONVERT($some_id, TEXT) || '-east' AS label;
Boolesche Felder von XML-Providern wie AWS werden als true und false ausgegeben; StackQL-Releases vor v1.0 gaben sie als 0 und 1 aus.