Aller au contenu principal
Page traduite

Cette page a été traduite de l'anglais avec l'aide de l'IA. En cas de divergence, la version anglaise fait référence.

Types de données

Les types de données StackQL servent à représenter les valeurs des champs d'entrée ou de sortie (propriétés ou paramètres) utilisés dans les ressources cloud. Les types de données StackQL sont répertoriés dans le tableau ci-dessous :

Type StackQLDescriptionExemple
stringséquence de caractères Unicode placée entre guillemets simples'mybucket'
arraycollection ordonnée de valeurs, placées entre crochets [ ] et séparées par une virgule[0,1,2]
objectensemble non ordonné de zéro ou plusieurs paires nom/valeur placées entre { } et séparées par une virgule{"name": "mydb"}
booleantrue ou false, les valeurs booléennes ne sont pas placées entre guillemets, sans quoi elles sont traitées comme des chaînes de caractèrestrue
integerun nombre entier qui peut être positif, négatif ou nul2
doublenombre à virgule flottante en double précision, peut être positif ou négatif0.95


Les types de données StackQL correspondent aux types de données exposés par les API de tous les principaux fournisseurs cloud.

Conversion de type​

CAST(expression AS type) et CONVERT(expression, type) convertissent une valeur en un autre type. En plus des types de conversion hérités de la grammaire MySQL (CHAR, DATE, DATETIME, DECIMAL, SIGNED, UNSIGNED, TIME, JSON), StackQL v1.0 et les versions ultérieures acceptent TEXT, INTEGER, INT, BIGINT, BOOLEAN et BOOL. La conversion est effectuée par le backend SQL, sa sémantique est donc celle de SQLite ou de PostgreSQL. Les conversions servent couramment à comparer une variable de session typée avec une colonne de type chaîne :

SET some_id = 42;

SELECT CAST($some_id AS TEXT) AS id_text,
CONVERT($some_id, TEXT) || '-east' AS label;

Les champs booléens servis par des providers XML tels qu'AWS sont renvoyés sous la forme true et false ; les versions de StackQL antérieures à v1.0 les renvoyaient sous la forme 0 et 1.