Saltar al contenido principal
Página traducida

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 StackQLDescripciónEjemplo
stringsecuencia de caracteres Unicode entre comillas simples'mybucket'
arraycolección ordenada de valores, entre corchetes [ ], separados por una coma[0,1,2]
objectconjunto no ordenado de cero o más pares nombre/valor insertados entre { } y separados por una coma{"name": "mydb"}
booleantrue o false, los valores booleanos no van entre comillas; de lo contrario, se tratan como valores de cadenatrue
integernúmero entero que puede ser positivo, negativo o cero2
doublenúmero de punto flotante de doble precisión, puede ser positivo o negativo0.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.