This topic describes the mappings between the built-in functions of MaxCompute and the built-in functions of Hive, MySQL, and Oracle. This way, you can find the built-in functions of MaxCompute that match specific built-in functions of Hive, MySQL, and Oracle.
Date functions
MaxCompute | Hive | MySQL | Oracle |
N/A | N/A | N/A | |
DATE_ADD | DATE_ADD | N/A | |
DATE_FORMAT | DATE_FORMAT | N/A | |
DATE_SUB | DATE_SUB | N/A | |
DATEDIFF | DATEDIFF | MONTHS_BETWEEN | |
N/A | DATE_FORMAT | EXTRACT (DATETIME) | |
TRUNC | DATE_FORMAT | EXTRACT (DATETIME) | |
FROM_UNIXTIME | FROM_UNIXTIME | N/A | |
CURRENT_DATE | NOW | CURRENT_DATE | |
N/A | STR_TO_DATE (The return value FALSE indicates that a string cannot be converted into a date value.) | N/A | |
LAST_DAY | LAST_DAY | LAST_DAY | |
TO_DATE | STR_TO_DATE | DATE | |
N/A | DATE_FORMAT | TO_CHAR (DATETIME) | |
UNIX_TIMESTAMP | UNIX_TIMESTAMP | N/A | |
N/A | WEEKDAY | N/A | |
WEEKOFYEAR | WEEKOFYEAR | N/A | |
ADD_MONTHS | ADDDATE | ADD_MONTHS | |
CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | |
DAY | DAY | DAY | |
DAYOFMONTH | DAYOFMONTH | N/A | |
EXTRACT | EXTRACT | EXTRACT | |
FROM_UTC_TIMESTAMP | N/A | N/A | |
HOUR | HOUR | HOUR | |
LAST_DAY | LAST_DAY | N/A | |
MINUTE | MINUTE | MINUTE | |
MONTH | MONTH | MONTH | |
MONTHS_BETWEEN | TIMESTAMPDIFF | MONTHS_BETWEEN | |
NEXT_DAY | N/A | NEXT_DAY | |
QUARTER | QUARTER | QUARTER | |
SECOND | SECOND | N/A | |
N/A | N/A | N/A | |
YEAR | YEAR | N/A |
The MaxCompute V1.0 data type edition is used by default. To use the Hive-compatible data type edition, run one of the following commands:
-- Enable the Hive-compatible data type edition at the project level.
setproject odps.sql.hive.compatible=True;
-- Enable the Hive-compatible data type edition at the session level.
set odps.sql.hive.compatible=True;Mathematical functions
MaxCompute | Hive | MySQL | Oracle |
ABS | ABS | ABS | |
ACOS | ACOS | ACOS | |
ASIN | ASIN | ASIN | |
ATAN | ATAN | ATAN | |
CEIL | CEIL | CEIL | |
CONV | CONV | N/A | |
COS | COS | COS | |
COSH | N/A | COSH | |
COT | COT | COT | |
EXP | EXP | EXP | |
FLOOR | FLOOR | FLOOR | |
LN | LN | LN | |
LOG | LOG | LOG | |
POW | POW | POWER | |
RAND | RAND | N/A | |
ROUND | ROUND | ROUND | |
SIN | SIN | SIN | |
SINH | N/A | SINH | |
SQRT | SQRT | SQRT | |
TAN | TAN | TAN | |
TANH | N/A | TANH | |
TRUNC | TRUNCATE | TRUNC | |
BIN | BIN | BITAND | |
CBRT | N/A | N/A | |
CORR | CORR | CORR | |
DEGREES | DEGREES | DEGREES | |
E | N/A | N/A | |
FACTORIAL | N/A | N/A | |
FORMAT_NUMBER | FORMAT | N/A | |
HEX | HEX | RAWTOHEX | |
LOG2 | LOG2 | LOG | |
LOG10 | LOG10 | LOG | |
PI | PI | PI | |
RADIANS | RADIANS | RADIANS | |
SIGN | SIGN | SIGN | |
SHIFTLEFT | << | N/A | |
SHIFTRIGHT | >> | N/A | |
SHIFTRIGHTUNSIGNED | >>> | N/A | |
UNHEX | UNHEX | HEXTORAW | |
WIDTH_BUCKET | N/A | WIDTH_BUCKET |
The MaxCompute V1.0 data type edition is used by default. To use the Hive-compatible data type edition, run one of the following commands:
-- Enable the Hive-compatible data type edition at the project level.
setproject odps.sql.hive.compatible=True;
-- Enable the Hive-compatible data type edition at the session level.
set odps.sql.hive.compatible=True;Window functions
MaxCompute | Hive | MySQL | Oracle |
COUNT | COUNT | COUNT | |
AVG | AVG | AVG | |
MAX | MAX | MAX | |
MIN | MIN | MIN | |
N/A | N/A | MEDIAN | |
N/A | STDDEV | STDDEV | |
N/A | STDDEV_SAMP | STDDEV_SAMP | |
SUM | SUM | SUM | |
DENSE_RANK | DENSE_RANK | DENSE_RANK | |
RANK | RANK | RANK | |
LAG | LAG | LAG | |
LEAD | LEAD | LEAD | |
PERCENT_RANK | PERCENT_RANK | PERCENT_RANK | |
ROW_NUMBER | ROW_NUMBER | ROW_NUMBER | |
N/A | N/A | N/A | |
CUME_DIST | CUME_DIST | CUME_DIST | |
NTILE | NTILE | NTILE |
Aggregate functions
MaxCompute | Hive | MySQL | Oracle |
AVG | AVG | AVG | |
COUNT | COUNT | COUNT | |
N/A | N/A | N/A | |
MAX | MAX | MAX | |
MIN | MIN | MIN | |
N/A | N/A | MEDIAN | |
STDDEV | STDDEV | STDDEV | |
STDDEV_SAMP | STDDEV_SAMP | STDDEV_SAMP | |
SUM | SUM | SUM | |
N/A | GROUP_CONCAT | WM_CONCAT | |
N/A | N/A | N/A | |
N/A | N/A | N/A | |
N/A | N/A | N/A | |
N/A | N/A | N/A | |
COLLECT LIST | N/A | COLLECT | |
COLLECT SET | N/A | COLLECT | |
COVAR_POP | N/A | COVAR_POP | |
COVAR_SAMP | N/A | COVAR_SAMP | |
NUMERIC_HISTOGRAM | N/A | N/A | |
PERCENTILE | N/A | N/A | |
PERCENTILE_APPROX | N/A | N/A | |
VARIANCE/VAR_POP | VAR_POP | VARIANCE/VAR_POP | |
VAR_SAMP | VAR_SAMP | VAR_SAMP |
The MaxCompute V1.0 data type edition is used by default. To use the Hive-compatible data type edition, run one of the following commands:
-- Enable the Hive-compatible data type edition at the project level.
setproject odps.sql.hive.compatible=True;
-- Enable the Hive-compatible data type edition at the session level.
set odps.sql.hive.compatible=True;String functions
MaxCompute | Hive | MySQL | Oracle |
ASCII | ASCII | ASCII | |
N/A | N/A | N/A | |
CHR | CHAR | CHR | |
CONCAT | CONCAT | CONCAT | |
ENCODE | N/A | N/A | |
FIND_IN_SET | FIND_IN_SET | N/A | |
FORMAT_NUMBER | FORMAT | N/A | |
N/A | N/A | N/A | |
GET_JSON_OBJECT | JSON_EXTRACT | N/A | |
INSTR | INSTR | INSTR | |
N/A | N/A | N/A | |
N/A | N/A | N/A | |
LENGTH | LENGTH | LENGTH | |
LENGTHB | LENGTHB | LENGTHB | |
LOCATE | LOCATE | N/A | |
LTRIM | LTRIM | LTRIM | |
MD5 | MD5 | N/A | |
PARSE_URL | N/A | N/A | |
PARSE_URL_TUPLE | N/A | N/A | |
N/A | N/A | REGEXP_COUNT | |
REGEXP_EXTRACT | N/A | N/A | |
N/A | REGEXP_INSTR | REGEXP_INSTR | |
REGEXP_REPLACE | REGEXP_REPLACE | REGEXP_REPLACE | |
N/A | REGEXP_SUBSTR | REGEXP_SUBSTR | |
REPEAT | REPEAT | REPEAT | |
REVERSE | REVERSE | REVERSE | |
RTRIM | RTRIM | RTRIM | |
SPACE | SPACE | SPACE | |
N/A | N/A | N/A | |
SUBSTR | SUBSTR | SUBSTR | |
SUBSTRING | SUBSTRING | SUBSTR | |
N/A | N/A | N/A | |
N/A | N/A | N/A | |
LOWER | LOWER | LOWER | |
UPPER | UPPER | UPPER | |
TRIM | TRIM | TRIM | |
N/A | N/A | N/A | |
N/A | N/A | PERCENTILE_CONT | |
CONCAT_WS | CONCAT_WS | N/A | |
JSON_TUPLE | N/A | N/A | |
LPAD | LPAD | LPAD | |
RPAD | RPAD | RPAD | |
REPLACE | REPLACE | REPLACE | |
SOUNDEX | SOUNDEX | SOUNDEX | |
SUBSTRING_INDEX | SUBSTRING_INDEX | N/A | |
TRANSLATE | N/A | TRANSLATE |
The MaxCompute V1.0 data type edition is used by default. To use the Hive-compatible data type edition, run one of the following commands:
-- Enable the Hive-compatible data type edition at the project level.
setproject odps.sql.hive.compatible=True;
-- Enable the Hive-compatible data type edition at the session level.
set odps.sql.hive.compatible=True;Other functions
MaxCompute | Hive | MySQL | Oracle |
BASE64 | TO_BASE64 | UTL_ENCODE.BASE64_ENCODE | |
BETWEEN AND | BETWEEN AND | BETWEEN AND | |
CASE WHEN | CASE WHEN | CASE WHEN | |
CAST | CAST | CAST | |
COALESCE | COALESCE | COALESCE | |
N/A | COMPRESS | UTL_COMPRESS.LZ_COMPRESS | |
CRC32 | CRC32 | N/A | |
DECODE | N/A | DECODE | |
N/A | UNCOMPRESS | UTL_COMPRESS.LZ_UNCOMPRESS | |
N/A | N/A | N/A | |
N/A | N/A | N/A | |
N/A | N/A | N/A | |
CURRENT_USER | CURRENT_USER | UID | |
GREATEST | GREATEST | N/A | |
HASH | N/A | ORA_HASH | |
IF | IF | IF | |
LEAST | LEAST | LEAST | |
N/A | N/A | N/A | |
NULLIF | NULLIF | NULLIF | |
NVL | IFNULL | N/A | |
N/A | N/A | N/A | |
N/A | N/A | N/A | |
N/A | N/A | N/A | |
SHA | SHA | N/A | |
SHA1 | SHA1 | N/A | |
SHA2 | SHA2 | N/A | |
SIGN | SIGN | SIGN | |
SPLIT | SPLIT | N/A | |
STACK | N/A | N/A | |
STR_TO_MAP | N/A | N/A | |
N/A | N/A | N/A | |
N/A | N/A | N/A | |
N/A | N/A | N/A | |
UNBASE64 | FROM_BASE64 | UTL_ENCODE.BASE64_DECODE | |
N/A | N/A | N/A | |
N/A | UUID | UID |
The MaxCompute V1.0 data type edition is used by default. To use the Hive-compatible data type edition, run one of the following commands:
-- Enable the Hive-compatible data type edition at the project level.
setproject odps.sql.hive.compatible=True;
-- Enable the Hive-compatible data type edition at the session level.
set odps.sql.hive.compatible=True;Complex type functions
Function type | MaxCompute | Hive | MySQL | Oracle |
ARRAY | N/A | N/A | N/A | |
N/A | N/A | N/A | ||
ARRAY | N/A | N/A | ||
ARRAY_CONTAINS | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
CONCAT | N/A | N/A | ||
EXPLODE | N/A | N/A | ||
N/A | N/A | N/A | ||
[] operator | N/A | N/A | ||
POSEXPLODE | N/A | N/A | ||
SIZE | N/A | N/A | ||
N/A | N/A | N/A | ||
SORT_ARRAY | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
MAP | EXPLODE | N/A | N/A | |
[] operator | N/A | N/A | ||
MAP | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
MAP_KEYS | N/A | N/A | ||
MAP_VALUES | N/A | N/A | ||
N/A | N/A | N/A | ||
SIZE | N/A | N/A | ||
N/A | N/A | N/A | ||
N/A | N/A | N/A | ||
STRUCT | . operator | N/A | N/A | |
INLINE | N/A | N/A | ||
STRUCT | N/A | N/A | ||
N/A | N/A | N/A | ||
JSON | N/A | N/A | N/A | |
GET_JSON_OBJECT | JSON_EXTRACT | N/A | ||
JSON_TUPLE | N/A | N/A | ||
N/A | N/A | N/A |
The MaxCompute V1.0 data type edition is used by default. To use the Hive-compatible data type edition, run one of the following commands:
-- Enable the Hive-compatible data type edition at the project level.
setproject odps.sql.hive.compatible=True;
-- Enable the Hive-compatible data type edition at the session level.
set odps.sql.hive.compatible=True;