Overview
Scenarios
Product Architecture
Instance Types
Compatibility Notes
Type | MySQL Data Types | Compatibility Note |
Value Type | BOOLEAN | Compatible |
| TINYINT,TINYINT UNSIGNED | Compatible |
| SMALLINT,SMALLINT UNSIGNED | Compatible |
| INT,INTEGER,INT UNSIGNED,INTEGER UNSIGNED | Compatible |
| BIGINT,BIGINT UNSIGNED | Compatible |
| FLOAT | Compatible |
| DOUBLE | Compatible |
| DECIMAL(m,d) | Different value ranges TDSQL-TP engine supports up to Decimal(65,30).The vector engine supports up to Decimal(38). |
Character Types | CHAR,VARCHAR | The character-set vector engine only supports the UTF-8 character set and collation, and does not support other character sets such as GBK. Accent-sensitive collation. |
| TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT | |
| JSON | Compatible |
| SET | Compatible |
| ENUM | Compatible |
Binary-Character Types | BINARY,VARBINARY | Compatible |
| BIT | Compatible, but the vector engine displays binary strings by default, while MySQL displays hexadecimal strings by default. |
| TINYBLOB,BLOB,MEDIUMBLOB, LONGBLOB | Compatible |
Datetime and Interval Data Types | YEAR | Compatible |
| TIME | The valid range is '00:00:00'~'23:59:59' in 'HH:MM:SS' format. Values outside this range may exhibit inconsistent behavior; during insertion, the system automatically performs a modulo operation to wrap around to the valid range. The range for the TDSQL TP engine is '-838:59:59' to '838:59:59' in the format 'HHH:MM:SS'. |
| DATE | The vector engine supports the yyyy-mm-dd format but does not support representations like yyyy.mm.dd or yyyy#mm#dd. The valid range is '0001-01-01' to '9999-12-31'. In lenient mode, '0000-00-00' to '0001-01-01' is also supported; however, function behavior may be inconsistent for values outside the valid range. |
| DATETIME | The valid range is '0001-01-01 00:00:00' to '9999-12-31 23:59:59' in the format 'YYYY-MM-DD HH:MM:SS'. In lenient mode, '0000-00-00 00:00:00' to '0001-01-01 00:00:00' is also supported; however, function behavior may be inconsistent for values outside the valid range. |
| TIMESTAMP | Compatible |
Spatial data type | GEOMETRY,POINT,LINESTRING,POLYGON,MULTIPOINT,MULTILINESTRING,MULTIPOLYGON,GEOMETRYCOLLECTION | Incompatible |
htap_enable_ve_execution_fallback switch to fall back to the TP engine for computation, or correct the invalid value conversion to continue leveraging the efficient computation of the Vector Engine.Function Name | Whether Supported | Use limits |
CASE | Supported | - |
IF() | Supported | - |
IFNULL() | Supported | - |
NULLIF() | Supported | - |
Function Name | Whether Supported | Use limits |
%, MOD | Supported | - |
* | Supported | - |
+ | Supported | - |
- | Supported | - |
- | Supported | - |
/ | Supported | - |
ABS() | Supported | - |
ACOS() | Supported | - |
ASIN() | Supported | - |
ATAN() | Supported | - |
ATAN2(), ATAN() | Not supported | - |
CEIL() | Supported but with differences. | Parameters in the vector engine are treated as floating-point numbers. |
CEILING() | Supported but with differences. | Parameters in the vector engine are treated as floating-point numbers. |
CONV() | Not supported | - |
COS() | Supported | - |
COT() | Supported | - |
CRC32() | Not supported | - |
DEGREES() | Supported | - |
DIV | Supported | - |
EXP() | Supported | - |
FLOOR() | Supported but with differences. | Parameters in the vector engine are treated as floating-point numbers. |
LN() | Supported but with differences. | When illegal parameters are entered, the vector engine will throw an error, while MySQL will return NULL. |
LOG() | Supported but with differences. | When illegal parameters are entered, the vector engine will throw an error, while MySQL will return NULL. |
LOG10() | Supported but with differences. | When illegal parameters are entered, the vector engine will throw an error, while MySQL will return NULL. |
LOG2() | Supported but with differences. | When illegal parameters are entered, the vector engine will throw an error, while MySQL will return NULL. |
MOD() | Supported | - |
PI() | Supported | - |
POW() | Supported | - |
POWER() | Supported | - |
RADIANS() | Supported | - |
RAND() | Not supported | - |
ROUND() | Supported but with differences. | The scenario where d is negative in ROUND(x, d) is not supported. |
SIGN() | Supported | - |
SIN() | Supported | - |
SQRT() | Supported | - |
TAN() | Supported | - |
TRUNCATE() | Not supported | - |
Function Name | Whether Supported | Use limits |
ADDDATE() | Supported but with differences. | In the vector engine, the type of return value of ADDDATE() is uniformly DATETIME.In MySQL, the return type of ADDDATE() corresponds to the type of the input parameter. |
ADDTIME() | Not supported | - |
CONVERT_TZ() | Not supported | - |
CURDATE() | Supported | - |
CURRENT_DATE(),CURRENT_DATE | Supported | - |
CURRENT_TIME(),CURRENT_TIME | Not supported | - |
CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP | Supported | - |
CURTIME() | Not supported | - |
DATE() | Supported | - |
DATE_ADD() | Supported but with differences. | Vector engine does not support the SECOND_MICROSECOND unit. |
DATE_FORMAT() | Not supported | Vector engine lacks the native DATE_FORMAT() function. |
DATE_SUB() | Supported but with differences. | Vector engine does not support the SECOND_MICROSECOND unit. |
DATEDIFF() | Not supported | - |
DAY() | Supported | - |
DAYNAME() | Supported | - |
DAYOFMONTH() | Supported | - |
DAYOFWEEK() | Supported but with differences. | Vector engine: Return value ranges from 0 to 6, where 0=Sunday, 1=Monday, ..., 6=Saturday. MySQL: Return value ranges from 1 to 7, where 1=Sunday, 2=Monday, ..., 7=Saturday. |
DAYOFYEAR() | Supported | - |
EXTRACT() | Supported but with differences. | Vector engine only supports YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, QUARTER, WEEK. |
FROM_DAYS() | Not supported | - |
FROM_UNIXTIME() | Not supported | - |
GET_FORMAT() | Not supported | - |
HOUR() | Supported but with differences. | Vector engine: HOUR() only supports DATETIME and TIMESTAMP parameter types.MySQL: HOUR() supports DATETIME, TIMESTAMP, and TIME parameter types. |
LAST_DAY() | Supported but with differences. | When illegal parameters are entered, the vector engine will throw an error, while MySQL will return NULL. |
LOCALTIME(),LOCALTIME | Supported but with differences. | Vector engine does not support the format for millisecond precision of LOCALTIME(fsp). |
LOCALTIMESTAMP,LOCALTIMESTAMP() | Supported but with differences. | Vector engine does not support the format for millisecond precision of LOCALTIME(fsp). |
MAKEDATE() | Not supported | - |
MAKETIME() | Not supported | - |
MICROSECOND() | Supported but with differences. | Vector engine: MICROSECOND() supports DATETIME and TIMESTAMP parameter types.MySQL: MICROSECOND() supports DATETIME, TIMESTAMP, and TIME parameter types. |
MINUTE() | Supported | - |
MONTH() | Supported | - |
MONTHNAME() | Supported | - |
NOW() | Supported | - |
PERIOD_ADD() | Not supported | - |
PERIOD_DIFF() | Not supported | - |
QUARTER() | Supported | - |
SEC_TO_TIME() | Not supported | - |
SECOND() | Supported but with differences. | Vector Engine: SECOND() only supports DATETIME and TIMESTAMP parameter types.MySQL: SECOND() supports DATETIME, TIMESTAMP, and TIME parameter types. |
STR_TO_DATE() | Supported but with differences. | Vector Engine does not support %X, %V, %u, and returns NULL for format mismatch. |
SUBDATE() | Supported but with differences. | Vector Engine: The return type of SUBDATE() is uniformly DATETIME.MySQL: The return type of SUBDATE() is consistent with the type of the input parameter. |
SUBTIME() | Not supported | - |
SYSDATE() | Not supported | - |
TIME() | Supported | - |
TIME_FORMAT() | Not supported | - |
TIME_TO_SEC() | Not supported | - |
TIMEDIFF() | Not supported | - |
TIMESTAMP() | Supported but with differences. | Vector Engine supports only TIMESTAMP(expr), but not TIMESTAMP(expr1, expr2). |
TIMESTAMPADD() | Supported | - |
TIMESTAMPDIFF() | Not supported | - |
TO_DAYS() | Not supported | - |
TO_SECONDS() | Not supported | - |
UNIX_TIMESTAMP() | Supported but with differences. | Vector engine does not support the UNIX_TIMESTAMP() syntax, only supports the UNIX_TIMESTAMP(date) syntax. |
UTC_DATE() | Not supported | - |
UTC_TIME() | Not supported | - |
UTC_TIMESTAMP() | Not supported | - |
WEEK() | Not supported | - |
WEEKDAY() | Supported but with differences. | Vector engine: Return values ranging from 0 to 6, where 0=Sunday, 1=Monday, ..., 6=Saturday. MySQL: Return values ranging from 1 to 7, indicating 1=Sunday, 2=Monday, ..., 7=Saturday. |
WEEKOFYEAR() | Supported | - |
YEAR() | Supported | - |
YEARWEEK() | Supported | - |
Function Name | Whether Supported | Use limits |
ASCII() | Supported | - |
BIN() | Not supported | - |
BIT_LENGTH() | Supported | - |
CHAR() | Not supported | - |
CHAR_LENGTH() | Supported | - |
CHARACTER_LENGTH() | Supported | - |
CONCAT() | Supported | - |
CONCAT_WS() | Supported | - |
ELT() | Not supported | - |
EXPORT_SET() | Not supported | - |
FIELD() | Not supported | - |
FIND_IN_SET() | Not supported | - |
FORMAT() | Not supported | - |
FROM_BASE64() | Supported | - |
HEX() | Supported | - |
INSERT() | Not supported | - |
INSTR() | Supported | - |
LCASE() | Supported | - |
LEFT() | Supported | - |
LENGTH() | Not supported | - |
LIKE | Supported | - |
LOAD_FILE() | Not supported | - |
LOCATE() | Not supported | - |
LOWER() | Supported | - |
LPAD() | Supported but with differences. | In the vector engine, the LPAD() function does not support parameters being empty strings simultaneously, and also does not support other forms such as binary. |
LTRIM() | Supported | - |
MAKE_SET() | Not supported | - |
MATCH() | Not supported | - |
MID() | Supported | - |
NOT LIKE | Supported | - |
NOT REGEXP | Supported | - |
OCT() | Not supported | - |
OCTET_LENGTH() | Supported | - |
ORD() | Supported but with differences. | Vector engine: empty string returns -1.MySQL: empty string returns 0. |
POSITION() | Not supported | - |
QUOTE() | Not supported | - |
REGEXP | Supported | - |
REGEXP_INSTR() | Not supported | - |
REGEXP_LIKE() | Supported | - |
REGEXP_REPLACE() | Supported | - |
REGEXP_SUBSTR() | Not supported | - |
REPEAT() | Supported | - |
REPLACE() | Supported | - |
REVERSE() | Supported | - |
RIGHT() | Supported | - |
RLIKE | Supported | - |
RPAD() | Supported but with differences. | In the vector engine, the RPAD() function does not support both parameters being empty strings. |
RTRIM() | Supported | - |
SOUNDEX() | Not supported | - |
SOUNDS LIKE | Not supported | - |
SPACE() | Supported | - |
STRCMP() | Not supported | - |
SUBSTR() | Supported | - |
SUBSTRING() | Supported | - |
SUBSTRING_INDEX() | Supported | - |
TO_BASE64() | Supported | - |
TRIM() | Supported | - |
UCASE() | Supported | - |
UNHEX() | Supported but with differences. | When illegal parameters are entered, the vector engine will throw an error, while MySQL will return NULL. |
UPPER() | Supported | - |
WEIGHT_STRING() | Not supported | - |
Function Name | Whether Supported | Use limits |
CAST() | Supported but with differences. | The vector engine only supports conversion between valid formats. |
CONVERT() | Not supported | - |
Function Name | Whether Supported | Use limits |
& | Supported | |
>> | Supported but with differences. | The vector engine shifts based on signed numbers, and the results are presented as unsigned numbers. Execution example:
MySQL execution example:
|
<< | Supported but with differences. | |
^ | Supported | - |
BIT_COUNT | Supported | - |
| | Supported | - |
~ | Supported | - |
Function Name | Whether Supported | Use limits |
-> | Supported | - |
->> | Not supported | - |
JSON_ARRAY() | Supported | - |
JSON_ARRAY_APPEND() | Not supported | - |
JSON_ARRAY_INSERT() | Not supported | - |
JSON_CONTAINS() | Not supported | - |
JSON_CONTAINS_PATH() | Not supported | - |
JSON_DEPTH() | Not supported | - |
JSON_EXTRACT() | Supported | - |
JSON_INSERT() | Not supported | - |
JSON_KEYS() | Supported | - |
JSON_LENGTH() | Not supported | - |
JSON_MERGE() | Not supported | - |
JSON_MERGE_PATCH() | Supported | - |
JSON_MERGE_PRESERVE() | Not supported | - |
JSON_OBJECT() | Supported | - |
JSON_OVERLAPS() | Not supported | - |
JSON_PRETTY() | Supported | - |
JSON_QUOTE() | Not supported | - |
JSON_REMOVE() | Not supported | - |
JSON_REPLACE() | Not supported | - |
JSON_SCHEMA_VALID() | Not supported | - |
JSON_SCHEMA_VALIDATION_REPORT() | Not supported | - |
JSON_SEARCH() | Not supported | - |
JSON_SET() | Not supported | - |
JSON_STORAGE_FREE() | Not supported | - |
JSON_STORAGE_SIZE() | Not supported | - |
JSON_TABLE() | Not supported | - |
JSON_TYPE() | Not supported | - |
JSON_UNQUOTE() | Not supported | - |
JSON_VALID() | Supported | - |
JSON_VALUE() | Not supported | - |
MEMBER OF() | Not supported | - |
Function Name | Whether Supported | Use limits |
AVG() | Supported but with differences. | Vector engines only support numeric and string values. |
BIT_AND() | Not supported | - |
BIT_OR() | Not supported | - |
BIT_XOR() | Not supported | - |
COUNT() | Supported | - |
COUNT(DISTINCT) | Supported | - |
GROUP_CONCAT() | Supported but with differences. | Vector engines do not support multiple columns. |
JSON_ARRAYAGG() | Not supported | - |
JSON_OBJECTAGG() | Not supported | - |
MAX() | Supported but with differences. | Vector engines only support numeric and string values. |
MIN() | Supported but with differences. | Vector engines only support numeric and string values. |
STD() | Supported but with differences. | Vector engines only support numeric and string values. |
STDDEV() | Supported but with differences. | Vector engines only support numeric and string values. |
STDDEV_POP() | Supported but with differences. | Vector engines only support numeric and string values. |
STDDEV_SAMP() | Supported but with differences. | Vector engines only support numeric and string values. |
SUM() | Supported but with differences. | Vector engines only support numeric and string values. |
VAR_POP() | Supported but with differences. | Vector engines only support numeric and string values. |
VAR_SAMP() | Supported but with differences. | Vector engines only support numeric and string values. |
VARIANCE() | Supported but with differences. | Vector engines only support numeric and string values. |
Function Name | Whether Supported | Limits of use |
CUME_DIST() | Supported | - |
DENSE_RANK() | Supported | - |
FIRST_VALUE() | Supported | - |
LAG() | Supported | - |
LAST_VALUE() | Supported | - |
LEAD() | Supported | - |
NTH_VALUE() | Supported | - |
NTILE() | Supported | - |
PERCENT_RANK() | Supported | - |
RANK() | Supported | - |
ROW_NUMBER() | Supported | - |
Function Name | Whether Supported | Limits of use |
<=> | Supported but with differences. | Incompatible with NULL behavior. |
Grammar Point | Whether Supported | Use limits |
Subqueries | Supported but with differences. | The vector engine does not support the quantifiers ALL and ANY . |
UNION | Supported but with differences. | The vector engine does not support.
|
Outer join | Supported but with differences. | Outer join fields do not support using correlated subquery fields. |
Grouping with window functions. | Supported but with differences. | When using window functions and grouping, it does not support including primary keys in the grouping keys. |
피드백