用户自定义变量
本文介绍如何声明和使用用户自定义变量。
自 2.5 版本起, StarRocks 支持用户声明自定义变量 (user-defined variables)。自定义变量用于存储特定的值,后续引用在 SQL 语句中,简化 SQL 语句的编写和避免重复计算。
使用说明
- 当前仅支持声明会话级别的自定义变量,即用户只能使用 自己声明的自定义变量,且如客户端断开,那么当前会话中所有自定义变量将失效。
- StarRocks 暂不支持使用 SHOW 语句查看已有的自定义变量。
- 不支持声明 BITMAP、HLL 和 PERCENTILE 类型的自定义变量,JSON 类型的自定义变量会转换为 STRING 类型进行存储。
- 自 v3.2.7 起,StarRocks 支持声明 ARRAY 类型的自定义变量。
声明自定义变量
语法
SET @var_name = expr [, ...];
说明
- 声明自定义变量时,必须加前缀
@。- 可同时声明多个自定义变量,多个变量之间用逗号 (,) 隔开。
- 支持多次声明同一自定义变量,新声明的值会覆盖原有值。
- 如在一个 SQL 语句中引用了没有声明过的变量,该变量值默认为
NULL且为 STRING 类型。