逻辑运算支持说明

最近更新时间:2024-10-08 10:12:31

我的收藏
目前只读分析引擎支持大部分 MySQL 的逻辑运算,但在部分场景下仍然存在限制和不兼容。本文介绍在只读分析引擎中逻辑运算的支持情况,针对输入参数中的类型限制进行了列举。如存在文档中未提到的入参与使用方法则均不支持。

逻辑运算支持类型

and 运算

语法op1 and op2 op1支持值类型:仅支持 bool 数据类型。 op2支持值类型:仅支持 bool 数据类型。

or 运算

语法op1 or op2 op1支持值类型:仅支持 bool 数据类型。 op2支持值类型:仅支持 bool 数据类型。

not 运算

语法not op1 op1支持值类型:仅支持 bool 数据类型。

case 运算

语法case when search_condition then statement_list else statement_list end search_condition 支持值类型:仅支持 bool 数据类型。 statement_list 支持值类型:int,bigint,double,decimal,varchar,char。

if 运算

语法if(expr1,expr2,expr3) expr1支持值类型:仅支持 bool 数据类型。 expr2支持值类型:int,bigint,double,decimal,varchar,char。 expr3支持值类型:int,bigint,double,decimal,varchar,char。

ifnull 运算

语法ifnull(expr1, expr2) expr1支持值类型:int,bigint,double,decimal,varchar,char。 expr2支持值类型:int,bigint,double,decimal,varchar,char。

isnull 运算

语法isnull(expr1) expr1支持值类型:int,bigint,double,decimal,varchar,char。

in 运算

语法expr IN (value,...) expr 支持值类型:int,bigint,double,decimal,varchar,char。 value 支持值类型:int,bigint,double,decimal,varchar,char。
注意:
在多 value 值的场景下,value 只能为常量,不能为变量或者字段名,如 columnA in (columnB,varA),只能为 column in ('1','2','3') 此类的使用方法。
语法expr IN (sub_query) expr 支持值类型:int,bigint,double,decimal,varchar,char。 sub_query 支持值类型:支持子查询、单一字段。

like 运算

语法expr like pattern expr 支持值类型:int,bigint,double,decimal,varchar,char。 pattern 支持值类型:int,bigint,double,decimal,varchar,char。
注意:
pattern 只支持常量,不支持代入变量或者字段名。

coalesce 运算

语法coalesce(value,...) value 支持值类型:int,bigint,double,decimal,varchar,char。