Impala内置函数

阅读更多

 

impala内置函数:

 

 

数值处理:

 

select abs()    绝对值

 

select power(2,5)   求幂

 

select sin/cos/tan/asin/acos/atan/atan2()   三角函数

 

select bin()   十进制转换二进制

 

ceil()   返回大于参数的最小整数

 

floor() 返回小于参数的最大整数

 

conv(23,16,2)  第一个参数从第二个参数16进制转变成第三个参数2进制

 

degrees(3.14159)   约等于180   弧度转角度

 

factorial(5)  5的阶乘

 

fmod/mod/%(11.0,9.0)    2       取余

 

fnv_hash(type v)  返回64位hash值

 

greatest(bigint a[, bigint b ...]), greatest(double a[, double b ...]), greatest(decimal(p,s) a[, decimal(p,s) b ...]), greatest(string a[, string b ...]), greatest(timestamp a[, timestamp b ...])  返回最大值

 

least(bigint a[, bigint b ...]), least(double a[, double b ...]), least(decimal(p,s) a[, decimal(p,s) b ...]), least(string a[, string b ...]), least(timestamp a[, timestamp b ...])

 

precision()   scale()  返回精确度

 

rand() 产生0-1随机数

 

select truncate(3.456,7)  3.4560000   保留小数位

 

 

 

字符处理:

 

1 连接函数

 

concat('hello',',','world')   hello,world

 

concat_ws(string sep, string a, string b...)

 

group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])  分组拼接,组名相同的字符串用分隔符连接在一起,不写分隔符默认为逗号

 

group_concat(string s [, string sep])

 

分割

 

split_part('x,y,z', ',', 2)       y   返回第二个分隔符前字符,分割字符串

 

substr(string a, int start [, int len]), substring(string a, int start [, int len])

 

2 搜索函数

 

locate(string substr, string str[, int pos])  返回位置

 

 instr('hello world', 'o', -1)  从第三个参数位置开始数 返回位置

 

find_in_set(string str, string strList) 返回位置

 

instr(string str, string substr [, bigint position [, bigint occurrence ] ])

Purpose: Returns the position (starting from 1) of the first occurrence of a substring within a longer string.

Return type: int

 

regexp_extract(字符串, 正则表达式, 返回格式) 返回格式0 返回全部

 

字符串正则表达式解析函数。  功能强大

 

提取字母的正则表达式:([0-9]+)

 

提取数字的正则表达式:([a-z]+)

 

提取中文的正则表达式:([啊-龥]+)

 

select regexp_extract('wde我的qw','[啊-龥]+',0)   我的

 

 这个函数有点类似于 substring(str from 'regexp')

 

 

 

3 属性函数

 

cast(expr AS type)

 

describe table_name   表格描述

 

typeof()   返回参数类型

 

length(string a)

 

show partitions 表名

 

 

 

btrim(string a), btrim(string a, string chars_to_trim)去空格

 

space(int n)=repeat(' ',n)

 

repeat(string str, int n)  复制字符串几次

 

 

 

lower(string a), lcase(string a)

 

initcap('hello world')   Hello World   单词首字母变大

 

 

 

regexp_replace('aaabbbaaa', 'b+', 'xyz')    aaaxyzaaa

 

 

 

 

 

replace(string initial, string target, string replacement)

 

translate(string input, string from, string to)

Purpose: Returns the input string with a set of characters replaced by another set of characters.

Return type: string

 

 

 

LPAD('ABCDE',10,'X')    XXXXXABCDE 从左边进行填充 rpad 右填充

 

reverse()    反转排列

 

 

replace(string initial, string target, string replacement)

 

 

 

 

日期处理:

 

now() =current_timestamp()

 

add_months(now(), 2)   月份+2

 

adddate(now(), 2)  天数+2

 

date_add(now(), 2) 同上

 

date_add(cast('2016-01-31' as timestamp), interval 3 months)

 

date_part('year'/'month'/'hour',now())   去日期的年月日等

 

date_sub(now(), 2)   天数-2

 

datediff(timestamp enddate, timestamp startdate) 日期相减

 

day('2016-02-29')   29

 

day('2016-02-028')   null

 

dayofmonth(timestamp date) dayofweek(timestamp date) dayofyear(timestamp date)

 

dayname(now())   周几

 

to_date()

 

trunc(timestamp, string unit)  返回季度 月份 周 天 初始时刻

 

 

 

条件函数:

 

CASE a WHEN b THEN c [WHEN d THEN e]... [ELSE f] END

 

coalesce(type v1, type v2, ...)  返回第一个不是null的参数,常用默认值来取代null值

 

decode(type expression, type search1, type result1 [, type search2, type result2 ...] [, type default] )

 

if(boolean condition, type ifTrue, type ifFalseOrNull)

 

ifnull(type a, type ifNull)  

 

isfalse(boolean)  isnottrue(boolean)

 

isnotfalse(boolean)  istrue(boolean)

 

isnull(type a, type ifNull)

 

nullif(expr1,expr2)

 

nvl(type a, type ifNull)

 

nvl2(type a, type ifNull, type ifNotNull)

 

 

e.g.:

replace(string initial, string target, string replacement)

,replace(ZZSPMD, '\n', ';') as ZZSPMD,

 

 

文档整理from:https://www.cloudera.com/documentation/enterprise/latest/topics/impala_string_functions.html#string_functions

https://www.cloudera.com/documentation/enterprise/latest/topics/impala_functions.html

 

 

 

你可能感兴趣的:(Impala内置函数)