本文为您提供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;