Esta página se tradujo del inglés con ayuda de IA. Si hay diferencias entre ambas, la versión en inglés es la referencia.
Tipos de datos
Los tipos de datos de StackQL se usan para representar los valores de los campos de entrada o de salida (propiedades o parámetros) usados en los recursos en la nube. Los tipos de datos de StackQL se enumeran en la tabla siguiente:
| Tipo de StackQL | Descripción | Ejemplo |
|---|---|---|
string | secuencia de caracteres Unicode entre comillas simples | 'mybucket' |
array | colección ordenada de valores, entre corchetes [ ], separados por una coma | [0,1,2] |
object | conjunto no ordenado de cero o más pares nombre/valor insertados entre { } y separados por una coma | {"name": "mydb"} |
boolean | true o false, los valores booleanos no van entre comillas; de lo contrario, se tratan como valores de cadena | true |
integer | número entero que puede ser positivo, negativo o cero | 2 |
double | número de punto flotante de doble precisión, puede ser positivo o negativo | 0.95 |
Los tipos de datos de StackQL se corresponden con los tipos de datos expuestos en las API de todos los principales proveedores de nube.
Conversión de tipos
CAST(expression AS type) y CONVERT(expression, type) convierten un valor a otro tipo. Además de los tipos de conversión heredados de la gramática de MySQL (CHAR, DATE, DATETIME, DECIMAL, SIGNED, UNSIGNED, TIME, JSON), StackQL v1.0 y las versiones posteriores aceptan TEXT, INTEGER, INT, BIGINT, BOOLEAN y BOOL. La conversión la realiza el backend SQL, por lo que su semántica es la de SQLite o PostgreSQL. Las conversiones se usan habitualmente para comparar una variable de sesión tipada con una columna de cadena:
SET some_id = 42;
SELECT CAST($some_id AS TEXT) AS id_text,
CONVERT($some_id, TEXT) || '-east' AS label;
Los campos booleanos servidos por providers XML como AWS se devuelven como true y false; las versiones de StackQL anteriores a v1.0 los devolvían como 0 y 1.