AWS Athena SQL中<<>>、<<=、>>=运算符含义及BigQuery转译方法
AWS Athena 尖括号类运算符含义及 BigQuery 转译说明
双尖括号类写法的实际语义
AWS Athena 基于 Trino 内核,完全兼容 ANSI SQL 标准,原生不存在 <<>>、<<=、>>= 这类双尖括号比较运算符,这类写法属于符号重复输入、粘贴冗余或转义异常导致的笔误,对应的标准语义如下:
column <<>> 'Value'实际对应标准写法column <> 'Value',是不等于判断,和column != 'Value'语义完全一致,作用是筛选出该列值不等于指定常量的所有行。column <<= 3实际对应标准写法column <= 3,是小于等于判断,筛选出该列值小于等于3的行。column2 >>= 2实际对应标准写法column2 >= 2,是大于等于判断,筛选出该列值大于等于2的行。
转译至 BigQuery SQL 的对应写法
BigQuery 同样兼容 ANSI SQL 标准比较运算符,上述语义对应的写法无需额外转换,和标准 SQL 语法完全一致。对应示例对比:
-- Athena 冗余笔误写法 where column <<>> 'Value' where column <<= 3 and column2 >>= 2
-- BigQuery 对应正确写法 where column != 'Value' -- 也可使用 column <> 'Value',两者完全等价 where column <= 3 and column2 >= 2
BigQuery 原生同时支持 != 和 <> 两种不等于写法,可根据使用习惯选择,和 Athena 的语法兼容度极高,不存在语义偏差。
内容的提问来源于stack exchange,提问作者Keval
相关产品推荐
相关产品推荐

