目前只读分析引擎支持大部分 MySQL 的类型函数,但在部分场景下仍然存在限制和不兼容。本文介绍在只读分析引擎中类型函数的支持列表,并针对输入参数中的类型限制进行了列举。如存在文档中未提到的入参与函数则均不支持。
类型转换函数主要的函数名为 CAST 函数。
注意:
如果在 SQL 表达式中存在不同类型的值进行比较或者计算,则会触发隐式转换。在使用过程中会出现的所有隐式转换逻辑均受制于如下表所示的转换支持情况。如果存在不支持隐式转换的值进行比较或者计算等运算场景,则会提示不支持此类转换报错。
语法:
CAST (expression AS data_type)
只读分析引擎中详细的转换类型支持情况如下表所示,如未在下表中标识,则代表不支持类型转换。
源/目标 | Binary | Char | Date | DateTime | Decimal | Double | Float | Real | Signed | Time | Unsigned | Year |
Bigint | ✓ | ✓ | × | × | ✓ | ✓ | × | ✓ | ✓ | × | ✓ | × |
Binary | ✓ | × | × | × | ✓ | ✓ | × | ✓ | ✓ | × | ✓ | × |
Date | ✓ | × | ✓ | ✓ | × | × | × | × | × | ✓ | × | × |
Datetime | ✓ | × | ✓ | ✓ | × | × | × | × | × | ✓ | × | × |
Decimal | ✓ | ✓ | × | × | ✓ | ✓ | × | ✓ | ✓ | × | ✓ | × |
Double | ✓ | ✓ | × | × | ✓ | ✓ | × | ✓ | × | × | × | × |
Float | ✓ | ✓ | × | × | ✓ | × | ✓ | ✓ | ✓ | × | ✓ | × |
Real | ✓ | ✓ | × | × | ✓ | ✓ | × | ✓ | × | × | × | × |
Signed | ✓ | ✓ | × | × | ✓ | ✓ | × | ✓ | ✓ | × | ✓ | × |
Time | × | × | × | × | × | × | × | × | × | × | × | × |
Unsigned | ✓ | ✓ | × | × | ✓ | ✓ | × | ✓ | ✓ | × | ✓ | × |
Year | ✓ | ✓ | × | × | ✓ | ✓ | × | ✓ | ✓ | × | ✓ | × |
Varchar | ✓ | ✓ | × | × | ✓ | ✓ | × | ✓ | ✓ | × | ✓ | × |