只读分析实例支持大部分 MySQL 的逻辑运算,但在部分场景下仍存在限制和不兼容。本文介绍只读分析实例对逻辑运算的支持情况,并列出每个运算符对入参数据类型的支持范围。文档中未列出的入参类型与使用方式均不支持。
逻辑运算支持类型
AND 运算
语法:
op1 AND op2op1支持的数据类型:仅支持 bool。
op2支持的数据类型:仅支持 bool。
OR 运算
语法:
op1 OR op2op1支持的数据类型:仅支持 bool。
op2支持的数据类型:仅支持 bool。
NOT 运算
语法:
NOT op1op1支持的数据类型:仅支持 bool。
CASE 运算
语法:
CASE WHEN search_condition THEN statement_list ELSE statement_list ENDsearch_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),只支持类似 columnA IN ('1', '2', '3') 的写法。语法:
expr IN (sub_query)expr 支持的数据类型:int、bigint、double、decimal、varchar、char。
sub_query 支持类型:子查询,且子查询的返回结果为单一字段。
LIKE 运算
语法:
expr LIKE patternexpr 支持的数据类型:int、bigint、double、decimal、varchar、char。
pattern 支持的数据类型:int、bigint、double、decimal、varchar、char。
注意:
pattern 只支持常量,不支持变量或字段名。
COALESCE 运算
语法:
COALESCE(value, ...)value 支持的数据类型:int、bigint、double、decimal、varchar、char。