本文为您提供MaxCompute、Hive、MySQL以及Oracle的内建函数对照表,方便您根据Hive、MySQL、Oracle内建函数查找对应的MaxCompute内建函数。
日期函数
| MaxCompute | Hive | MySQL | Oracle | 
|---|---|---|---|
| DATEADD | 无 | 无 | 无 | 
| DATE_ADD | DATE_ADD | DATE_ADD | 无 | 
| DATE_FORMAT | DATE_FORMAT | DATE_FORMAT | 无 | 
| DATE_SUB | DATE_SUB | DATE_SUB | 无 | 
| DATEDIFF | DATEDIFF | DATEDIFF | MONTHS_BETWEEN | 
| DATEPART | 无 | DATE_FORMAT | EXTRACT (DATETIME) | 
| DATETRUNC | TRUNC | DATE_FORMAT | EXTRACT (DATETIME) | 
| FROM_UNIXTIME | FROM_UNIXTIME | FROM_UNIXTIME | 无 | 
| GETDATE | CURRENT_DATE | NOW | CURRENT_DATE | 
| ISDATE | 无 | STR_TO_DATE(返回FALSE则说明不能转换为DATE) | 无 | 
| LASTDAY | LAST_DAY | LAST_DAY | LAST_DAY | 
| TO_DATE | TO_DATE | STR_TO_DATE | DATE | 
| TO_CHAR | 无 | DATE_FORMAT | TO_CHAR (DATETIME) | 
| UNIX_TIMESTAMP | UNIX_TIMESTAMP | UNIX_TIMESTAMP | 无 | 
| WEEKDAY | 无 | WEEKDAY | 无 | 
| WEEKOFYEAR | WEEKOFYEAR | WEEKOFYEAR | 无 | 
| ADD_MONTHS | ADD_MONTHS | ADDDATE | ADD_MONTHS | 
| CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | 
| DAY | DAY | DAY | DAY | 
| DAYOFMONTH | DAYOFMONTH | DAYOFMONTH | 无 | 
| EXTRACT | EXTRACT | EXTRACT | EXTRACT | 
| FROM_UTC_TIMESTAMP | FROM_UTC_TIMESTAMP | 无 | 无 | 
| HOUR | HOUR | HOUR | HOUR | 
| LAST_DAY | LAST_DAY | LAST_DAY | 无 | 
| MINUTE | MINUTE | MINUTE | MINUTE | 
| MONTH | MONTH | MONTH | MONTH | 
| MONTHS_BETWEEN | MONTHS_BETWEEN | TIMESTAMPDIFF | MONTHS_BETWEEN | 
| NEXT_DAY | NEXT_DAY | 无 | NEXT_DAY | 
| QUARTER | QUARTER | QUARTER | QUARTER | 
| SECOND | SECOND | SECOND | 无 | 
| TO_MILLIS | 无 | 无 | 无 | 
| YEAR | YEAR | YEAR | 无 | 
说明 默认模式为MaxCompute模式,如果要切换至Hive模式,执行如下命令切换。 
                  --Project级别切换为Hive模式。
setproject odps.sql.hive.compatible=True;
--Session级别切换为Hive模式。
set odps.sql.hive.compatible=True;数学函数
| MaxCompute | Hive | MySQL | Oracle | 
|---|---|---|---|
| ABS | ABS | ABS | ABS | 
| ACOS | ACOS | ACOS | ACOS | 
| ASIN | ASIN | ASIN | ASIN | 
| ATAN | ATAN | ATAN | ATAN | 
| CEIL | CEIL | CEIL | CEIL | 
| CONV | CONV | CONV | 无 | 
| COS | COS | COS | COS | 
| COSH | COSH | 无 | COSH | 
| COT | COT | COT | COT | 
| EXP | EXP | EXP | EXP | 
| FLOOR | FLOOR | FLOOR | FLOOR | 
| LN | LN | LN | LN | 
| LOG | LOG | LOG | LOG | 
| POW | POW | POW | POWER | 
| RAND | RAND | RAND | 无 | 
| ROUND | ROUND | ROUND | ROUND | 
| SIN | SIN | SIN | SIN | 
| SINH | SINH | 无 | SINH | 
| SQRT | SQRT | SQRT | SQRT | 
| TAN | TAN | TAN | TAN | 
| TANH | TANH | 无 | TANH | 
| TRUNC | TRUNC | TRUNCATE | TRUNC | 
| BIN | BIN | BIN | BITAND | 
| CBRT | CBRT | 无 | 无 | 
| CORR | CORR | CORR | CORR | 
| DEGREES | DEGREES | DEGREES | DEGREES | 
| E | E | 无 | 无 | 
| FACTORIAL | FACTORIAL | 无 | 无 | 
| FORMAT_NUMBER | FORMAT_NUMBER | FORMAT | 无 | 
| HEX | HEX | HEX | RAWTOHEX | 
| LOG2 | LOG2 | LOG2 | LOG | 
| LOG10 | LOG10 | LOG10 | LOG | 
| PI | PI | PI | PI | 
| RADIANS | RADIANS | RADIANS | RADIANS | 
| SIGN | SIGN | SIGN | SIGN | 
| SHIFTLEFT | SHIFTLEFT | << | 无 | 
| SHIFTRIGHT | SHIFTRIGHT | >> | 无 | 
| SHIFTRIGHTUNSIGNED | SHIFTRIGHTUNSIGNED | >>> | 无 | 
| UNHEX | UNHEX | UNHEX | HEXTORAW | 
| WIDTH_BUCKET | WIDTH_BUCKET | 无 | WIDTH_BUCKET | 
说明 默认模式为MaxCompute模式,如果要切换至Hive模式,执行如下命令切换。 
                  --Project级别切换为Hive模式。
setproject odps.sql.hive.compatible=True;
--Session级别切换为Hive模式。
set odps.sql.hive.compatible=True;窗口函数
| MaxCompute | Hive | MySQL | Oracle | 
|---|---|---|---|
| COUNT | COUNT | COUNT | COUNT | 
| AVG | AVG | AVG | AVG | 
| MAX | MAX | MAX | MAX | 
| MIN | MIN | MIN | MIN | 
| MEDIAN | 无 | 无 | MEDIAN | 
| STDDEV | 无 | STDDEV | STDDEV | 
| STDDEV_SAMP | 无 | STDDEV_SAMP | STDDEV_SAMP | 
| SUM | SUM | SUM | SUM | 
| DENSE_RANK | DENSE_RANK | DENSE_RANK | DENSE_RANK | 
| RANK | RANK | RANK | RANK | 
| LAG | LAG | LAG | LAG | 
| LEAD | LEAD | LEAD | LEAD | 
| PERCENT_RANK | PERCENT_RANK | PERCENT_RANK | PERCENT_RANK | 
| ROW_NUMBER | ROW_NUMBER | ROW_NUMBER | ROW_NUMBER | 
| CLUSTER_SAMPLE | 无 | 无 | 无 | 
| CUME_DIST | CUME_DIST | CUME_DIST | CUME_DIST | 
| NTILE | NTILE | NTILE | NTILE | 
聚合函数
| MaxCompute | Hive | MySQL | Oracle | 
|---|---|---|---|
| AVG | AVG | AVG | AVG | 
| COUNT | COUNT | COUNT | COUNT | 
| COUNT_IF | 无 | 无 | 无 | 
| MAX | MAX | MAX | MAX | 
| MIN | MIN | MIN | MIN | 
| MEDIAN | 无 | 无 | MEDIAN | 
| STDDEV | STDDEV | STDDEV | STDDEV | 
| STDDEV_SAMP | STDDEV_SAMP | STDDEV_SAMP | STDDEV_SAMP | 
| SUM | SUM | SUM | SUM | 
| WM_CONCAT | 无 | GROUP_CONCAT | WM_CONCAT | 
| ANY_VALUE | 无 | 无 | 无 | 
| APPROX_DISTINCT | 无 | 无 | 无 | 
| ARG_MAX | 无 | 无 | 无 | 
| ARG_MIN | 无 | 无 | 无 | 
| COLLECT_LIST | COLLECT LIST | 无 | COLLECT | 
| COLLECT_SET | COLLECT SET | 无 | COLLECT | 
| COVAR_POP | COVAR_POP | 无 | COVAR_POP | 
| COVAR_SAMP | COVAR_SAMP | 无 | COVAR_SAMP | 
| NUMERIC_HISTOGRAM | NUMERIC_HISTOGRAM | 无 | 无 | 
| PERCENTILE | PERCENTILE | 无 | 无 | 
| PERCENTILE_APPROX | PERCENTILE_APPROX | 无 | 无 | 
| VARIANCE/VAR_POP | VARIANCE/VAR_POP | VAR_POP | VARIANCE/VAR_POP | 
| VAR_SAMP | VAR_SAMP | VAR_SAMP | VAR_SAMP | 
说明 默认模式为MaxCompute模式,如果要切换至Hive模式,执行如下命令切换。 
                  --Project级别切换为Hive模式。
setproject odps.sql.hive.compatible=True;
--Session级别切换为Hive模式。
set odps.sql.hive.compatible=True;字符串函数
| MaxCompute | Hive | MySQL | Oracle | 
|---|---|---|---|
| ASCII | ASCII | ASCII | ASCII | 
| CHAR_MATCHCOUNT | 无 | 无 | 无 | 
| CHR | CHR | CHAR | CHR | 
| CONCAT | CONCAT | CONCAT | CONCAT | 
| ENCODE | ENCODE | 无 | 无 | 
| FIND_IN_SET | FIND_IN_SET | FIND_IN_SET | 无 | 
| FORMAT_NUMBER | FORMAT_NUMBER | FORMAT | 无 | 
| FROM_JSON | 无 | 无 | 无 | 
| GET_JSON_OBJECT | GET_JSON_OBJECT | JSON_EXTRACT | 无 | 
| INSTR | INSTR | INSTR | INSTR | 
| IS_ENCODING | 无 | 无 | 无 | 
| KEYVALUE | 无 | 无 | 无 | 
| LENGTH | LENGTH | LENGTH | LENGTH | 
| LENGTHB | LENGTHB | LENGTHB | LENGTHB | 
| LOCATE | LOCATE | LOCATE | 无 | 
| LTRIM | LTRIM | LTRIM | LTRIM | 
| MD5 | MD5 | MD5 | 无 | 
| PARSE_URL | PARSE_URL | 无 | 无 | 
| PARSE_URL_TUPLE | PARSE_URL_TUPLE | 无 | 无 | 
| REGEXP_COUNT | 无 | 无 | REGEXP_COUNT | 
| REGEXP_EXTRACT | REGEXP_EXTRACT | 无 | 无 | 
| REGEXP_INSTR | 无 | REGEXP_INSTR | REGEXP_INSTR | 
| REGEXP_REPLACE | REGEXP_REPLACE | REGEXP_REPLACE | REGEXP_REPLACE | 
| REGEXP_SUBSTR | 无 | REGEXP_SUBSTR | REGEXP_SUBSTR | 
| REPEAT | REPEAT | REPEAT | REPEAT | 
| REVERSE | REVERSE | REVERSE | REVERSE | 
| RTRIM | RTRIM | RTRIM | RTRIM | 
| SPACE | SPACE | SPACE | SPACE | 
| SPLIT_PART | 无 | 无 | 无 | 
| SUBSTR | SUBSTR | SUBSTR | SUBSTR | 
| SUBSTRING | SUBSTRING | SUBSTRING | SUBSTR | 
| TO_CHAR | 无 | 无 | 无 | 
| TO_JSON | 无 | 无 | 无 | 
| TOLOWER | LOWER | LOWER | LOWER | 
| TOUPPER | UPPER | UPPER | UPPER | 
| TRIM | TRIM | TRIM | TRIM | 
| URL_DECODE | 无 | 无 | 无 | 
| URL_ENCODE | 无 | 无 | PERCENTILE_CONT | 
| CONCAT_WS | CONCAT_WS | CONCAT_WS | 无 | 
| JSON_TUPLE | JSON_TUPLE | 无 | 无 | 
| LPAD | LPAD | LPAD | LPAD | 
| RPAD | RPAD | RPAD | RPAD | 
| REPLACE | REPLACE | REPLACE | REPLACE | 
| SOUNDEX | SOUNDEX | SOUNDEX | SOUNDEX | 
| SUBSTRING_INDEX | SUBSTRING_INDEX | SUBSTRING_INDEX | 无 | 
| TRANSLATE | TRANSLATE | 无 | TRANSLATE | 
说明 默认模式为MaxCompute模式,如果要切换至Hive模式,执行如下命令切换。 
                  --Project级别切换为Hive模式。
setproject odps.sql.hive.compatible=True;
--Session级别切换为Hive模式。
set odps.sql.hive.compatible=True;其他函数
| MaxCompute | Hive | MySQL | Oracle | 
|---|---|---|---|
| BASE64 | BASE64 | TO_BASE64 | UTL_ENCODE.BASE64_ENCODE | 
| BETWEEN AND表达式 | BETWEEN AND | BETWEEN AND | BETWEEN AND | 
| CASE WHEN表达式 | CASE WHEN | CASE WHEN | CASE WHEN | 
| CAST | CAST | CAST | CAST | 
| COALESCE | COALESCE | COALESCE | COALESCE | 
| COMPRESS | 无 | COMPRESS | UTL_COMPRESS.LZ_COMPRESS | 
| CRC32 | CRC32 | CRC32 | 无 | 
| DECODE | DECODE | 无 | DECODE | 
| DECOMPRESS | 无 | UNCOMPRESS | UTL_COMPRESS.LZ_UNCOMPRESS | 
| GET_IDCARD_AGE | 无 | 无 | 无 | 
| GET_IDCARD_BIRTHDAY | 无 | 无 | 无 | 
| GET_IDCARD_SEX | 无 | 无 | 无 | 
| GET_USER_ID | CURRENT_USER | CURRENT_USER | UID | 
| GREATEST | GREATEST | GREATEST | 无 | 
| HASH | HASH | 无 | ORA_HASH | 
| IF | IF | IF | IF | 
| LEAST | LEAST | LEAST | LEAST | 
| MAX_PT | 无 | 无 | 无 | 
| NULLIF | NULLIF | NULLIF | NULLIF | 
| NVL | NVL | IFNULL | 无 | 
| ORDINAL | 无 | 无 | 无 | 
| PARTITION_EXISTS | 无 | 无 | 无 | 
| SAMPLE | 无 | 无 | 无 | 
| SHA | SHA | SHA | 无 | 
| SHA1 | SHA1 | SHA1 | 无 | 
| SHA2 | SHA2 | SHA2 | 无 | 
| SIGN | SIGN | SIGN | SIGN | 
| SPLIT | SPLIT | SPLIT | 无 | 
| STACK | STACK | 无 | 无 | 
| STR_TO_MAP | STR_TO_MAP | 无 | 无 | 
| TABLE_EXISTS | 无 | 无 | 无 | 
| TRANS_ARRAY | 无 | 无 | 无 | 
| TRANS_COLS | 无 | 无 | 无 | 
| UNBASE64 | UNBASE64 | FROM_BASE64 | UTL_ENCODE.BASE64_DECODE | 
| UNIQUE_ID | 无 | 无 | 无 | 
| UUID | 无 | UUID | UID | 
说明 默认模式为MaxCompute模式,如果要切换至Hive模式,执行如下命令切换。 
                  --Project级别切换为Hive模式。
setproject odps.sql.hive.compatible=True;
--Session级别切换为Hive模式。
set odps.sql.hive.compatible=True;复杂类型函数
| 函数类别 | MaxCompute | Hive | MySQL | Oracle | 
|---|---|---|---|---|
| ARRAY | ALL_MATCH | 无 | 无 | 无 | 
| ANY_MATCH | 无 | 无 | 无 | |
| ARRAY | ARRAY | 无 | 无 | |
| ARRAY_CONTAINS | ARRAY_CONTAINS | 无 | 无 | |
| ARRAY_DISTINCT | 无 | 无 | 无 | |
| ARRAY_EXCEPT | 无 | 无 | 无 | |
| ARRAY_INTERSECT | 无 | 无 | 无 | |
| ARRAY_JOIN | 无 | 无 | 无 | |
| ARRAY_MAX | 无 | 无 | 无 | |
| ARRAY_MIN | 无 | 无 | 无 | |
| ARRAY_POSITION | 无 | 无 | 无 | |
| ARRAY_REMOVE | 无 | 无 | 无 | |
| ARRAY_REDUCE | 无 | 无 | 无 | |
| ARRAY_REPEAT | 无 | 无 | 无 | |
| ARRAY_SORT | 无 | 无 | 无 | |
| ARRAY_UNION | 无 | 无 | 无 | |
| ARRAYS_OVERLAP | 无 | 无 | 无 | |
| ARRAYS_ZIP | 无 | 无 | 无 | |
| CONCAT | CONCAT | 无 | 无 | |
| EXPLODE | EXPLODE | 无 | 无 | |
| FILTER | 无 | 无 | 无 | |
| INDEX | []运算符 | 无 | 无 | |
| POSEXPLODE | POSEXPLODE | 无 | 无 | |
| SIZE | SIZE | 无 | 无 | |
| SLICE | 无 | 无 | 无 | |
| SORT_ARRAY | SORT_ARRAY | 无 | 无 | |
| TRANSFORM | 无 | 无 | 无 | |
| ZIP_WITH | 无 | 无 | 无 | |
| MAP | EXPLODE | EXPLODE | 无 | 无 | 
| INDEX | []运算符 | 无 | 无 | |
| MAP | MAP | 无 | 无 | |
| MAP_CONCAT | 无 | 无 | 无 | |
| MAP_ENTRIES | 无 | 无 | 无 | |
| MAP_FILTER | 无 | 无 | 无 | |
| MAP_FROM_ARRAYS | 无 | 无 | 无 | |
| MAP_FROM_ENTRIES | 无 | 无 | 无 | |
| MAP_KEYS | MAP_KEYS | 无 | 无 | |
| MAP_VALUES | MAP_VALUES | 无 | 无 | |
| MAP_ZIP_WITH | 无 | 无 | 无 | |
| SIZE | SIZE | 无 | 无 | |
| TRANSFORM_KEYS | 无 | 无 | 无 | |
| TRANSFORM_VALUES | 无 | 无 | 无 | |
| STRUCT | FIELD | .运算符 | 无 | 无 | 
| INLINE | INLINE | 无 | 无 | |
| STRUCT | STRUCT | 无 | 无 | |
| NAMED_STRUCT | 无 | 无 | 无 | |
| JSON | FROM_JSON | 无 | 无 | 无 | 
| GET_JSON_OBJECT | GET_JSON_OBJECT | JSON_EXTRACT | 无 | |
| JSON_TUPLE | JSON_TUPLE | 无 | 无 | |
| TO_JSON | 无 | 无 | 无 | 
说明 默认模式为MaxCompute模式,如果要切换至Hive模式,执行如下命令切换。 
                  --Project级别切换为Hive模式。
setproject odps.sql.hive.compatible=True;
--Session级别切换为Hive模式。
set odps.sql.hive.compatible=True;