翻译页面
本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。
数据类型
StackQL 数据类型用于表示云资源中输入或输出字段(属性或参数)的值。下表列出了 StackQL 数据类型:
| StackQL 类型 | 说明 | 示例 |
|---|---|---|
string | 由单引号括起的 Unicode 字符序列 | 'mybucket' |
array | 有序的值集合,用方括号 [ ] 括起,以逗号分隔 | [0,1,2] |
object | 由零个或多个名称/值对组成的无序集合,置于 { } 之间,以逗号分隔 | {"name": "mydb"} |
boolean | true 或 false,布尔值不用引号括起,并将被视为字符串值 | true |
integer | 整数,可以为正数、负数或零 | 2 |
double | 双精度浮点数,可以为正数或负数 | 0.95 |
StackQL 数据类型与所有主流云服务商的 API 中公开的数据类型相对应。
类型转换
CAST(expression AS type) 和 CONVERT(expression, type) 将值转换为另一种类型。除了从 MySQL 语法继承的转换类型(CHAR、DATE、DATETIME、DECIMAL、SIGNED、UNSIGNED、TIME、JSON)之外,StackQL v1.0 及更高版本还接受 TEXT、INTEGER、INT、BIGINT、BOOLEAN 和 BOOL。转换由 SQL 后端执行,因此其语义与 SQLite 或 PostgreSQL 的语义一致。转换通常用于将带类型的会话变量与字符串列进行比较:
SET some_id = 42;
SELECT CAST($some_id AS TEXT) AS id_text,
CONVERT($some_id, TEXT) || '-east' AS label;
由 AWS 等 XML Provider 提供的布尔字段以 true 和 false 的形式报告;v1.0 之前的 StackQL 发布版本将其报告为 0 和 1。