与Hive、MySQL、Oracle内建函数对照表

更新时间:
复制 MD 格式

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