【SQL】实习中常用函数
SUBSTR(STR, START, LEN)
字符串截取函数
DATE_ADD(STARTDATE, INTDAYS)
日期增加函数
WITH AS 语句:
当某个子查询在多个地方重复使用时可用,极大提高代码可读性。
CONCATE_WS()
拼接函数
ARRAY_CONTAINS(ARR, ELEMENTS)
判断元素是否在数组里。
NVL(EXPR1, EXPR2)
如果EXPR1不为空则返回EXPR1;否则返回EXPR2
DATE_SUB(DATE, INTDAYS)
日期减少函数
COALESCE(EXPR1, EXPR2,……, EXPRN)
直到返回第一个非空值
TRIM(STR)
去掉字符串头尾的空格
REGEXP_REPLACE(STR, PATTERN, REPLACE_STR)
字符串匹配替换函数。
SIZE(ARR)
返回数组元素个数。
BETWEEN AND
注意是闭区间,即包头包尾。
PERCENTILE(COL, P)
返回列COL上的P分位数上的值。其中,这里的分位数是上分位数。
UNIX_TIMESTAMP(DATE_STR)
返回参数对应的时间戳。
SORT_ARRAY()
根据某一列进行排序。
COLLECT_SET()
配合GROUP BY进行列转行;与EXPLODE的作用恰好相反。
ADD_MONTHS(DATE_STR,INTMONTHS)
计算指定日期N个月后的日期。
TRUNC
当参数是日期时,则为指定元素而截取的日期值;
当参数为数字时,则为需要截尾取整的数字。
ASSERT TRUE(CONDITION)
当条件不满足时,则抛出异常,不会执行。
MAP()
转化复杂数据类型。HIVE的复杂数据类型有ARRAY、MAP、STRUCT、UNION;其中MAP类型和PYTHON中的字典很类似。