我是
靠谱客 的博主
漂亮小霸王 ,最近开发中收集的这篇文章主要介绍
Hive函数词典ABCDEFGHIJLMNOPRSTUVWXY其他运算符 ,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Hive函数词典
目录
A B C D E F G H I J L M N O P R S T U V W X Y 其他运算符
A
函数名 函数介绍 函数案例 测试结果 abs 计算绝对值 abs(-12) 12 acos 求反余弦值 SELECT acos(1) FROM src LIMIT 1; 0 add_months 返回当前时间下再增加num_months个月的日期 SELECT add_months('2009-08-31', 1) FROM src LIMIT 1; 2009-09-30' and 如果A和B均为TRUE,则为TRUE;否则为FALSE。如果A为NULL或B为NULL,则为NULL select 1 from lxw_dual where 1=1 and 2=2; 1 array 数组 array('a','b','c') 单纯的表示函数 array_contains 如该数组Array包含value返回true。,否则返回false SELECT array_contains(array(1, 2, 3), 2) FROM src LIMIT 1; TRUE ascii 返回字符串str第一个字符的ascii码 select ascii('abcde') from lxw_dual; 97 asin 求d的反正弦值 SELECT asin(0) FROM src LIMIT 1; 0 assert_true 如果“condition”不为真,则抛出异常。 SELECT assert_true(x >= 0) FROM src LIMIT 1; NULL atan 求反正切值 SELECT atan(0) FROM src LIMIT 1; 0 avg avg(col)统计结果集中col的平均值;avg(DISTINCT col)统计结果中col不同值相加的平均值 select avg (distinct t) from lxw_dual; 50
B
函数名 函数介绍 函数案例 测试结果 base64 将参数从二进制转换为base64字符串 null null between 计算a是否在b和c之间 null null bin 返回a的二进制代码表示 select bin(7) from lxw_dual; 111
C
函数名 函数介绍 函数案例 测试结果 case 如果a等于b,那么返回c;如果a等于d,那么返回e;否则返回f Select case 100 when 50 then 'tom' when 100 then 'mary'else 'tim' end from lxw_dual; mary cbrt 返回双精度值的立方根。 SELECT cbrt(27.0); 3 ceil 求其不小于小给定实数的最小整数如:ceil(6) = ceil(6.1)= ceil(6.9) = 6 SELECT ceil(-0.1) FROM src LIMIT 1; 0 ceiling 与ceil功能相同 select ceiling(3.1415926) from lxw_dual; 4 coalesce 返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL select COALESCE(null,'100','50′) from lxw_dual; 100 collect_list 返回具有重复项的对象列表 null null collect_set 返回消除重复元素的一组对象 null null compute_stats 返回一组基本类型值的统计摘要。 null null concat 返回输入字符串连接后的结果,支持任意个输入字符串 select concat(‘abc’,'def’,'gh’) from lxw_dual; abcdefgh concat_ws 返回输入字符串连接后的结果,SEP表示各个字符串间的分隔符 select concat_ws(',','abc','def','gh') from lxw_dual; abc,def,gh context_ngrams 与ngram类似,但context_ngram()允许你预算指定上下文(数组)来去查找子序列 null null conv 将数值num从from_base进制转化到to_base进制 select conv(17,10,16) from lxw_dual; 11 corr 返回两列数值的相关系数 null null cos 返回a的反余弦值 select acos(0.6216099682706644) from lxw_dual; 0.9 count count(*), count(expr), count(DISTINCT expr[, expr_.]),count(*)统计检索出的行的个数,包括NULL值的行;count(expr)返回指定字段的非空值的个数;count(DISTINCTexpr[, expr_.])返回指定字段的不同的非空值的个数 select count(*) from lxw_dual; 20 covar_pop 返回一组数字对的总体协方差 null null covar_samp 返回的样本协方差返回的样本协方差的一组数字对 null null crc32 返回一组数字对的总体协方差样本协方差计算字符串或二进制参数的循环冗余检查值并返回bigint值。 SELECT crc32('ABC'); 2743272264 create_union 返回一组数字对的总体协方差样本的协方差为给定标签创建一个与对象的联合 SELECT create_union(1, 1, "one") FROM src LIMIT 1; one cume_dist CUME_DIST函数(在某些统计书籍中定义为百分比的倒数)计算指定值相对于一组值的位置。要计算大小为N的集合S中值x的 NULL NULL current_database 当前使用数据库名称返回 SELECT current_database() database_name current_date 返回查询评估开始时的当前日期。同一查询中current_date的所有调用都返回相同的值。 null null current_timestamp 返回系统当前时间 select current_timestamp(); 2020/8/28 10:04 current_user 返回当前用户名 SELECT current_user() user_name
D
函数名 函数介绍 函数案例 测试结果 date_add 返回开始日期startdate增加days天后的日期。 select date_add('2012-12-08',10) from lxw_dual; 2012/12/18 date_format date_format(日期/时间戳/字符串,fmt) -将日期/时间戳/字符串转换为由日期格式fmt指定的字符串值。 SELECT date_format('2015-04-08', 'y'); 2015 date_sub 返回开始日期startdate减少days天后的日期。 select date_sub('2012-12-08',10) from lxw_dual; 2012/11/28 datediff 返回结束日期减去开始日期的天数。 select datediff('2012-12-08','2012-05-09') from lxw_dual; 213 day 返回日期中的天 select day('2011-12-08 10:03:01') from lxw_dual; 8 dayofmonth 返回日期/时间戳所在月份的日期,或者interval的日期组件 dayofweek 返回日期/时间戳的星期几(1 =星期日,2 =星期一,…), 7 =星期六) SELECT dayofweek('2009-07-30') FROM src LIMIT 1; 5 decode decode(bin, str) -使用第二个参数字符集解码第一个参数 NULL NUll degrees 奖弧度值转换角度值 SELECT degrees(30) FROM src LIMIT 1; -1 dense_rank dense_rank()over(order by 列名排序)的结果是连续的 ,如果有4个人,其中有3个是并列第1名 1 1 1 2
E
函数名 函数介绍 函数案例 测试结果 e e() -返回e SELECT e() FROM src LIMIT 1; 2.718281828 elt elt(n, str1, str2,…)—返回第n个字符串 SELECT elt(1, 'face', 'book') FROM src LIMIT 1; face' encode encode(str, str)——使用第二个参数字符集对第一个参数进行编码 NULL NULL ewah_bitmap 返回一个ewah压缩的列的位图表示。 NULL NULL ewah_bitmap_and 返回ewah压缩的位图,即两个位图的按位和。 NULL NULL ewah_bitmap_empty 测试ewah压缩位图是否全是零的谓词 NULL NULL ewah_bitmap_or 返回一个ewah压缩的位图,即两个位图的按位或。 NULL NULL exp 返回e的a幂次方, a可为小数 select exp(2) from lxw_dual; 7.389056099 explode 将数组a的元素分隔为多行,或将映射的元素分隔为多行和多列 NULL NULL
F
函数名 函数介绍 函数案例 测试结果 field 返回str的索引在str1,str2,…列表或0,如果没有找到 NULL NULL find_in_set find_in_set(string str, string strList),返回str在strlist第一次出现的位置,strlist是用逗号分割的字符串。如果没有找该str字符,则返回0 select find_in_set('ab','ef,ab,de') from lxw_dual; 2 first_value first_value—最多接受两个参数。第一个参数是你想要的列的第一个值,第二个参数必须是一个布尔值(可选),默认是假的。如果设置为真,它跳过null值。 NULL NULL floor 向下取整,最数轴上最接近要求的值的左边的值 如:6.10->6 -3.4->-4 SELECT floor(-0.1) FROM src LIMIT 1; -1 format_number format_number(X, D或F) -将数字X格式化为类似“#,###,###”的格式。,或使用指定的格式F进行格式化,并以字符串形式返回结果。如果D是0,结果没有小数点或小数部分。这应该像MySQL的格式一样 SELECT format_number(12332.123456, '##################.###') FROM src LIMIT 1; 12332.123' from_unixtime 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式 select from_unixtime(1323308943,'yyyyMMdd') fromlxw_dual; 20111208 from_utc_timestamp from_utc_timestamp(时间戳,字符串时区)——假设给定的时间戳是UTC,并转换为给定的时区(从Hive 0.8.0开始) NULL NULL
G
函数名 函数介绍 函数案例 测试结果 get_json_object get_json_object(string json_string, string path)解析json的字符串json_string,返回path指定的内容。如果输入的json字符串无效,那么返回NULL。 select get_json_object('{"store":{"fruit":[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],"bicycle":{"price":19.95,"color":"red"}},"email":"amy@only_for_json_udf_test.net","owner":"amy"}','$.owner') from lxw_dual; amy greatest 最大(v1, v2,…)——返回一个值列表中的最大值 SELECT greatest(2, 3, 1) FROM src LIMIT 1; 3
H
函数名 函数介绍 函数案例 测试结果 hash 返回参数的哈希值 NULL NULL hex 如果变量是int类型,那么返回a的十六进制表示;如果变量是string类型,则返回该字符串的十六进制表示 select hex(‘abc’) from lxw_dual; 616263 histogram_numeric 以b为基准计算col的直方图信息。 select histogram_numeric(100,5) from lxw_dual; [{"x":100.0,"y":1.0}] hour 返回日期中的小时 select hour('2011-12-08 10:03:01') from lxw_dual; 10
I
函数名 函数介绍 函数案例 测试结果 if 当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull select if(1=2,100,200) from lxw_dual; 200 in 如果test等于任何valN,则返回true NULL NULL in_file 如果str出现在文件中,则返回true NULL NULL index 返回a的第n个元素 NULL NULL initcap 返回str,每个单词的首字母为大写,其他所有字母为小写。单词由空格分隔。 SELECT initcap('tHe soap') FROM src LIMIT 1; The Soap' inline 将数组和结构分解成一个表 NULL NULL instr 返回substr在str中第一次出现的索引 SELECT instr('Facebook', 'boo') FROM src LIMIT 1; 5 isnotnull 如果a不为空,返回true,否则返回false NULL NULL isnull 如果a为空,返回true,否则返回false NULL NULL
J
函数名 函数介绍 函数案例 测试结果 java_method java_method(类,方法[,arg1[,arg2..]])使用反射调用方法 NULL NULL json_tuple (json_tuple, p1, p2,…)与get_json_object类似,但是它接受多个名称并返回一个元组。所有输入参数和输出列类型都是string。 NULL NULL
L
函数名 函数介绍 函数案例 测试结果 lag 通过([query_partition_子句]order_by_子句)的LAG (scalar_expression [,offset] [,default]);滞后函数用于访问前一行的数据。 NULL NULL last_day 返回日期所属月份的最后一天。 SELECT last_day('2009-01-12') FROM src LIMIT 1; 2009-01-31' last_value 最多接受两个参数。第一个参数是您想要最后一个值的列,第二个(可选)参数必须是布尔值,默认情况下为false。如果设置为真,它跳过null值。 NULL NULL lcase 返回字符串A的小写格式 select lower('abSEd') from lxw_dual; absed lead LEAD (scalar_expression [,offset] [,default]) OVER ([query_partition_子句]order_by_子句);LEAD函数用于从下一行返回数据。 NULL NULL least 返回一个值列表中的最小值 SELECT least(2, 3, 1) FROM src LIMIT 1; 1 length 返回字符串A的长度 select length('abcedfg') from lxw_dual; 7 levenshtein 这个函数计算两个字符串之间的levenshtein距离。 SELECT levenshtein('kitten', 'sitting'); 3 like 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合表达式B 的正则语法,则为TRUE;否则为FALSE。B中字符”_”表示任意单个字符,而字符”%”表示任意数量的字符。 select1 from lxw_dual where 'football' like 'foot%'; 1 ln 以自然数为底d的对数,a可为小数 SELECT ln(1) FROM src LIMIT 1; 0 locate 定位(substr, str[, pos]) -返回第一次substr出现在位置pos之后的位置 SELECT locate('bar', 'foobarbar', 5) FROM src LIMIT 1; 7 log 返回以base为底的a的对数 select log(4,256) from lxw_dual; 4 log10 返回以10为底的a的对数 select log10(100) from lxw_dual; 2 log2 返回以2为底的a的对数 select log2(8) from lxw_dual; 3 logged_in_user 返回登录的用户名 NULL NULL lower 返回字符串A的小写格式 select lower('abSEd') from lxw_dual; absed lpad 将str进行用pad进行左补足到len位 select lpad('abc',10,'td') from lxw_dual; tdtdtdtabc ltrim 去除字符串左边的空格 select ltrim(' abc ') from lxw_dual; abc
M
函数名 函数介绍 函数案例 测试结果 map map (key1, value1, key2, value2,…)根据输入的key和value对构建map类型 Create table lxw_test as select map('100','tom','200','mary')as t from lxw_dual;describe lxw_test;t map string,string select t from lxw_test; {"100":"tom","200":"mary"} map_keys 返回一个无序数组,其中包含输入映射的键。 NULL NULL map_values 返回一个无序数组,其中包含输入映射的值。 NULL NULL matchpath MatchPath根据窗口中列的数据匹配特定的Pattern.根据筛选的结果列名,MatchPath匹配成功后返回符合Pattern的所有行数据中第一行的筛选列数据和一个Array 格式的tpath字段数据 NULL NULL max 统计结果集中col字段的最大值 select max(t) from lxw_dual; 100 md5 为字符串或二进制文件计算MD5 128位校验和 SELECT md5('ABC'); '902fbdd2b1df0c4f70b4a5d23525e932' min 统计结果集中col字段的最小值 select min(t) from lxw_dual; 10 minute "返回字符串/timestamp /interval的分钟组件 SELECT minute('2009-07-30 12:58:59') FROM src LIMIT 1; 58 minute param可以是以下之一:1. 以“yyyy-MM-dd HH:mm:ss”或“HH:mm:ss”格式的字符串。2. 一个时间戳值3.一个一天时间间隔值" SELECT minute('2009-07-30 12:58:59') FROM src LIMIT 1; 58 month 返回日期中的月份。 select month('2011-12-08 10:03:01') from lxw_dual; 12 months_between 日期1和日期2之间的月份数 SELECT months_between('1997-02-28 10:30:00', '1996-10-30'); 3.94959677
N
函数名 函数介绍 函数案例 测试结果 named_struct 返回参数的哈希值 NULL NULL negative 返回-a select negative(-5) from lxw_dual; 5 next_day next_day(start_date, day_of_week)——返回第一个日期,该日期比start_date晚,并按指定的名称命名。 SELECT next_day('2015-01-14', 'TU') FROM src LIMIT 1; 2015-01-20' ngrams 在由字符串序列(表示为字符串数组或字符串数组的数组)组成的行中估计最前面的k个n-grams。“pf”是控制内存使用的可选精度因子。 NULL NULL noop NULL NULL NULL noopstreaming NULL NULL NULL noopwithmap NULL NULL NULL noopwithmapstreaming NULL NULL NULL not 如果A为FALSE,或者A为NULL,则为TRUE;否则为FALSE select 1 from lxw_dual where not 1=2; 1 ntile 把有序的数据集合平均分配到指定的数量(num)个桶中, 将桶号分配给每一行。如果不能平均分配,则优先分配较小编号的桶,并且各个桶中能放的行数最多相差1。 ntile (num) over ([partition_clause] order_by_clause) as your_bucket_num NULL nvl 如果值为空,返回默认值,否则返回值 SELECT nvl(null,'bla') FROM src LIMIT 1; bla
O
函数名 函数介绍 函数案例 测试结果 or 如果A为TRUE,或者B为TRUE,或者A和B均为TRUE,则为TRUE;否则为FALSE select 1 from lxw_dual where 1=2 or 2=2; 1
P
函数名 函数介绍 函数案例 测试结果 parse_url parse_url(string urlString, string partToExtract [, stringkeyToExtract]),返回URL中指定的部分。partToExtract的有效值为:HOST, PATH, QUERY, REF, PROTOCOL, AUTHORITY, FILE, and USERINFO. selectparse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST') fromlxw_dual; facebook.com parse_url_tuple 从一个URL中提取N (N>=1)个部分。 SELECT b.* FROM src LATERAL VIEW parse_url_tuple(fullurl, 'HOST', 'PATH', 'QUERY', 'QUERY:id') b as host, path, query, query_id LIMIT 1; NULL percent_rank (分组内当前行的rank值-1)/(分组内总行数-1) NULL NULL percentile 求准确的第pth个百分位数,p必须介于0和1之间,但是col字段目前只支持整数,不支持浮点数类型 select percentile(score,<0.2,0.4>) from lxw_dual; 取0.2,0.4位置的数据 percentile_approx 求近似的第pth个百分位数,p必须介于0和1之间,返回类型为double,但是col字段支持浮点类型。参数B控制内存消耗的近似精度,B越大,结果的准确度越高。默认为10,000。当col字段中的distinct值的个数小于B时,结果为准确的百分位数 NULL NULL pi 返回π SELECT pi() FROM src LIMIT 1; 3.14159... pmod 返回正的a除以b的余数 select pmod(9,4) from lxw_dual; 1 posexplode 行为类似于数组的爆炸,但包括项目在原始数组中的位置 NULL NULL positive 返回a select positive(-10) from lxw_dual; -10 pow 返回a的p次幂 select pow(2,4) from lxw_dual; 16 power pow(x1, x2) - 使x1的x2次方 SELECT pow(2, 3) FROM src LIMIT 1; 8 printf 可以根据打印格式字符串格式化字符串的函数 SELECT printf("Hello World %d %s", 100, "days")FROM src LIMIT 1; "Hello World 100 days"
R
函数名 函数介绍 函数案例 测试结果 radians 将角度值转换成弧度值 SELECT radians(90) FROM src LIMIT 1; 1.5707963267949mo rand 每行返回一个DOUBLE型随机数seed是随机因子 rand(2) 0.731146936 rank 排序相同时会重复,总数不会变 NULL NULL reflect 用反射调用方法 NULL NULL reflect2 reflect2(arg0,方法[,arg1[,arg2..]])通过反射调用arg0的方法 NULL NULL regexp 功能与RLIKE相同 select1 from lxw_dual where 'footbar' REGEXP '^f.*r$'; 1 regexp_extract regexp_extract(string subject, string pattern, int index),将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。 select regexp_extract('foothebar', 'foo(.*?)(bar)', 1) fromlxw_dual; the regexp_replace regexp_replace(string A, string B, string C),将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符,类似oracle中的regexp_replace函数 select regexp_replace('foobar', 'oo|ar', '') from lxw_dual; fb repeat 返回重复n次后的str字符串 select repeat('abc',5) from lxw_dual; abcabcabcabcabc reverse 返回字符串A的反转结果 select reverse(abcedfg’) from lxw_dual; gfdecba rlike 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合JAVA正则表达式B的正则语法,则为TRUE;否则为FALSE。 select1 from lxw_dual where 'footbar’ rlike '^f.*r$’ 1 round "返回四舍五入的BIGINT值返回保留指定小数位的四舍五入的BIGINT值 round(12.3584,2) 12.36 row_number row_number函数为分区中的每一行分配一个惟一的数字(顺序地,从1开始,由ORDER by定义)。 NULL NULL rpad 将str进行用pad进行右补足到len位 select rpad('abc',10,'td') from lxw_dual; abctdtdtdt rtrim 去除字符串右边的空格 select rtrim(' abc ') from lxw_dual; abc
S
函数名 函数介绍 函数案例 测试结果 second 返回字符串/时间戳/间隔参数的第二个组件 SELECT second('2009-07-30 12:58:59') FROM src LIMIT 1; 59 sentences 将str分割成句子数组,每个句子都是单词数组。“lang”和“country”参数是可选的,如果省略,则使用默认的语言环境。 SELECT sentences('Hello there! I am a UDF.') FROM src LIMIT 1; [ ["Hello", "there"], ["I", "am", "a", "UDF"] ] sha2 计算字符串或二进制的sha -1摘要,并以十六进制字符串的形式返回值。 SELECT sha('ABC'); 3c01bdbb26f358bab27f267924aa2c9a03fcfdb8' sign 如果a是正数则返回1.0,是负数则返回-1.0,否则返回0.0 SELECT sign(40) FROM src LIMIT 1; 1 sin 返回a的正弦值 select sin(0.8) from lxw_dual; 0.717356091 size 返回所给数据类型的长度 elect size(map('100','tom','101','mary')) from lxw_dual; 2 sort_array 根据数组元素的自然顺序,对输入数组按升序排序。 SELECT sort_array(array('b', 'd', 'c', 'a')) FROM src LIMIT 1; a', 'b', 'c', 'd' soundex 返回字符串的soundex代码。 SELECT soundex('Miller'); M460 space 返回长度为n的字符串 select length(space(10)) from lxw_dual; 10 split 按照pat字符串分割str,会返回分割后的字符串数组 select split('abtcdtef','t') from lxw_dual; ["ab","cd","ef"] sqrt 返回a的平方根 select sqrt(16) from lxw_dual; 4 stack 将k列转换为n行,每行大小为k/n NULL NULL std 返回一组数字的标准偏差 NULL NULL stddev 返回一组数字的标准偏差 NULL NULL stddev_pop 该函数计算总体标准偏离,并返回总体变量的平方根,其返回值与VAR_POP函数的平方根相同 NULL NULL stddev_samp 该函数计算样本标准偏离 NULL NULL str_to_map 通过解析文本创建映射 NULL NULL struct 根据输入的参数构建结构体struct类型 NULL NULL substr 返回字符串A从start位置到结尾的字符串 select substr('abcde',3) from lxw_dual; cde substring 返回字符串A从start位置到结尾的字符串 select substr('abcde',3) from lxw_dual; cde sum sum(col)统计结果集中col的相加的结果;sum(DISTINCT col)统计结果中col不同值相加的结果 select sum(distinct t) from lxw_dual; 70
T
函数名 函数介绍 函数案例 测试结果 tan 求正切值 tan(0) 0 to_date 返回日期时间字段中的日期部分。 select to_date('2011-12-08 10:03:01') from lxw_dual; 2011/12/8 to_unix_timestamp 返回UNIX时间戳 NULL NULL to_utc_timestamp 假设给定的时间戳在给定的时区中,并转换为UTC(从Hive 0.8.0开始) NULL NULL translate 通过将from字符串中出现的字符替换为to字符串中对应的字符来转换输入字符串 NULL NULL trim 去除字符串两边的空格 select trim(' abc ') from lxw_dual; abc trunc 如果输入是date,则返回date,并将当天的时间部分截断为fmt格式模型指定的单元。如果省略fmt,则日期被截断为最近的日期。 SELECT trunc('2009-02-12', 'MM'); OK
U
函数名 函数介绍 函数案例 测试结果 ucase 返回字符串A的大写格式 select upper('abSEd') from lxw_dual; ABSED unbase64 将参数从base64字符串转换为二进制 NULL NULL unhex 返回该十六进制字符串所代码的字符串 select unhex(‘616263’) from lxw_dual; abc unix_timestamp 获得当前时区的UNIX时间戳转换格式为"yyyy-MM-ddHH:mm:ss"的日期到UNIX时间戳。如果转化失败,则返回0。 select unix_timestamp() from lxw_dual;select unix_timestamp('2011-12-07 13:01:03') from lxw_dual; 1,323,309,615 upper 返回字符串A的大写格式 select upper('abSEd') from lxw_dual; ABSED uuid 返回一个通用唯一标识符(UUID)字符串。 SELECT uuid() 0baf1f52-53df-487f-8292-99a03716b688'
V
函数名 函数介绍 函数案例 测试结果 var_pop 统计结果集中col非空集合的总体变量(忽略null) NULL NULL var_samp 统计结果集中col非空集合的样本变量(忽略null) NULL NULL variance 返回一组数字的方差 NULL NULL version 返回单元构建版本字符串—包括基本版本和修订版本。 NULL NULL
W
函数名 函数介绍 函数案例 测试结果 weekofyear 返回日期在当前的周数 select weekofyear('2011-12-08 10:03:01') from lxw_dual; 49 when 当a = true时,返回b;当c = true时,返回d;否则返回e CASE WHEN deptno=1 THEN Engineering NULL windowingtablefunction NULL NULL NULL
X
函数名 函数介绍 函数案例 测试结果 xpath 返回xml节点中与xpath表达式匹配的值的字符串数组 SELECT xpath('b1 b2 b3 c1c2', 'a/b/text()') FROM src LIMIT 1 ["b1","b2","b3"] xpath_boolean 计算一个布尔xpath表达式 SELECT xpath_boolean('1 ','a/b') FROM src LIMIT 1; TRUE xpath_double 返回一个匹配xpath表达式的双精度值 SELECT xpath_double('1 2 ','sum(a/b)') FROM src LIMIT 1; 3.0 xpath_float 返回与xpath表达式匹配的浮点值 SELECT xpath_float('1 2 ','sum(a/b)') FROM src LIMIT 1; 3.0 xpath_int 返回与xpath表达式匹配的整数值 SELECT xpath_int('1 2 ','sum(a/b)') FROM src LIMIT 1; 3 xpath_long 返回与xpath表达式匹配的长值 SELECT xpath_long('1 2 ','sum(a/b)') FROM src LIMIT 1; 3 xpath_number 返回与xpath表达式匹配的双精度值 SELECT xpath_number('1 2 ','sum(a/b)') FROM src LIMIT 1; 3.0 xpath_short 返回与xpath表达式匹配的短值 SELECT xpath_short('1 2 ','sum(a/b)') FROM src LIMIT 1; 3 xpath_string 返回与xpath表达式匹配的第一个xml节点的文本内容 SELECT xpath_string('b cc','a/c') FROM src LIMIT 1; cc'
Y
函数名 函数介绍 函数案例 测试结果 year 返回日期中的年 select year('2011-12-08 10:03:01') from lxw_dual; 2011
其他运算符
函数名 函数介绍 函数案例 测试结果 ! 和not逻辑操作符含义一致 select !(true); FALSE != 如果a不等于b,返回真 select 1 <> 2; TRUE % 返回a除以b时的余数 SELECT 5 % 3 2 & 位与 SELECT 3 & 5 FROM src LIMIT 1; 1 * 乘法 NULL NULL + 加法 NULL NULL - 减法 NULL NULL / 除法 NULL NULL < 如果a小于b,返回TRUE NULL NULL <= 如果a不大于b,返回TRUE NULL NULL <=> 对于非空操作数,使用EQUAL(=)操作符返回相同的结果,但如果两个操作数都为空,则返回TRUE,如果其中一个操作数为空,则返回FALSE NULL NULL <> 返回TRUE,如果不等于b,和!=含义一致 NULL NULL = 返回TRUE,如果a等于b和假否则,和==含义一致 NULL NULL == 返回TRUE,如果a等于b和假否则,和=含义一致 NULL NULL > 如果a大于b,返回TRUE NULL NULL >= 如果a不小于b,返回TRUE NULL NULL ^ 按位异或 NULL NULL | 位或 SELECT 3 | 5 FROM src LIMIT 1; 7 ~ 位否 SELECT ~ 0 FROM src LIMIT 1; -1
最后
以上就是漂亮小霸王 为你收集整理的Hive函数词典ABCDEFGHIJLMNOPRSTUVWXY其他运算符 的全部内容,希望文章能够帮你解决Hive函数词典ABCDEFGHIJLMNOPRSTUVWXY其他运算符 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站 推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复