表达式兼容

最近更新时间:2025-09-17 17:45:32

我的收藏
说明
TDSQL Boundless 列存功能在当前版本为实验特性,仅面向受邀用户开放。若您有需要可通过客户经理与我们联系并申请。

数据类型

类型
MySQL 数据库
TDSQL Boundless
说明
数字类型
Tinyint
支持
可以叠加 unsigned 属性
Smallint
支持
Mediumint
支持
Integer
支持
Bigint
支持
Float
支持,有差异
浮点数,会使用科学计数法表示。 例如 99999999999999999999999999999999999999 这种大数在MySQL 中会用 1e38表示, 经过 concat 还是1e38
向量引擎计算表示方式是1e+38, 显示增加了 + 符号,格式略微不同。
Double
支持,有差异
TDSQL TP 引擎对于 string -> double 的转换比较灵活,即使string 中有非数字字符,也会进行转换,例如' ' → double,TDSQL TP 引擎将空字符变成0.0,'1x' → double,结果集是1.0。
向量引擎无法做这种非法值的转换,如遇到,可以打开 htap_enable_ve_execution_fallback开关,回退到 TP引擎计算,或者修正非法值的转换,继续利用向量引擎高效计算。
Decimal
支持,有差异
值域不同
TDSQL TP 引擎最大支持 Decimal(65,30)
向量引擎最大支持 Decimal(38)
时间类型
Year
支持
-
Date
支持,有差异
向量引擎支持yyyy-mm-dd,不支持 yyyy.mm.ddyyyy#mm#dd的表示方法。
特殊日期 '0000-00-00'。向量引擎对日期类型的表示方式和原始 TDSQL TP 引擎不相同。'0000-00-00' 的这种无法合理表示的特殊时间暂时没有兼容,目前通过0001-00-00 (BC) 代替,和 TDSQL TP 引擎不一致。
Time
支持,有差异
TDSQL TP 引擎的 Time 时间类型区间是 [-838:59:59,-838:59:59]。例如 ‘-838:59:59',这种非法时间是允许写入的,向量引擎要求时间在0 - 24之内。如果数据是负数非法时间,会转成合法时间,这种行为和 TDSQL TP 引擎不一致.
Timestamp
支持,有差异
Datetime
支持
-
字符类型
Char
支持
字符集向量引擎只支持 UTF-8 字符集,不支持 GBK 等其他字符集。
UTF8MB4下的特殊字符兼容
字符集下的比较,暂时不支持重音比较,例如'hëllo' != 'hello'
Varchar
支持
布尔类型
Bool
支持
-

表达式函数

类型
MySQL 数据库
TDSQL Boundless
说明
比较函数
等于(=)
支持
-
大于(>)
支持
-
大于等于(>=)
支持
-
小于(<)
支持
-
小于等于(<=)
支持
-
IN
支持
-
BETWEEN
支持
-
IS_NULL
支持
-
IS_NOTNULL
支持
-
逻辑比较
AND
支持
-
OR
支持
-
NOT(!)
支持
-
分支比较
IF
支持
-
NULLIF
支持
-
IFNULL
支持
-
CASE WHEN
支持
-
字符函数
COALESCE
支持
-
LIKE
支持
-
TRUNCATE
支持
-
CONCAT
支持,有差异
CONCAT(a,b)函数拼接两个字符串,如果任意一方有 NULL,TDSQL TP 引擎的最终结果是 NULL,向量引擎计算结果可以是非NULL 值。
SUBSTR
支持
-
INSTR
支持,有差异
INSTR(a, b)函数用于查找字符串b第一次在a中出现的位置。向量引擎暂时不支持像 TDSQL TP 引擎一样在 Collation 下进行比较。因此无法识别大小写,A 和 a 会被认为不等。
TRIM
支持
-
LTRIM
支持
-
RTRIM
支持
-
REGEXP_LIKE
支持
-
REGEXP_REPLACE
支持
-
CONCAT_WS
支持
-
REPLACE
支持
-
LOWER
支持
-
UPPPER
支持
-
转换函数
CAST
支持
-
计算函数
加法(+)
支持
-
减法(-)
支持
-
乘法(*)
支持
-
除法(/)
支持
-
ROUND
支持
-
CEILING
支持
-
FLOOR
支持
-
时间函数
EXTRACT
支持
-
DATEADD
支持
-
聚合函数
MIN
支持
-
MAX
支持
-
SUM
支持
-
COUNT
支持
-
AVG
支持
-
DISTINCT
支持
-