返回值类型 | 样式 | 描述 |
BIGINT | Count(*) | J计算总函数,包括含有NULL值的行 |
BIGINT | count(expr) | 计算expr表达式的值非NULL的行数 |
BIGINT | count(DISTINCT expr) | 计算expr表达式的值去重后非NULL行数 |
DOUBLE | sum(col) | 计算指定行的值的和 |
DOUBLE | sum(DISTINCT col) | J计算去重后指定行的值 |
DOUBLE | avg(col) | 计算指定行的平均值 |
DOUBLE | avg(DISTINCT col) | 计算去重后指定行的平均值 |
DOUBLE | min(col) | 计算指定行的最小值 |
DOUBLE | max(col) | 计算指定行的最大值 |
返回值类型 | 样式 | 描述 |
返回类型就是type定义的类型 | cast(col as <type>) | 将列转化为type类型,如果转换过程失败,则返回NULL |
STRING | concat(BINARY s1 ,BINARY s2 , ...) | J将二进制字节码按次序拼接成一个字符串 |
STRING | concat(STRING s1 , STRING s2 , ...) | 将字符串s1 , s2等拼接成一个字符串。例如concat(‘ab‘,’cd’) = ‘abcd’ |
STRING | concat_ws(STRING separator , STRING s1 , STRING s2 , …) | 和concat类似,不过是使用指定的分隔符进行拼接的 |
BOOLEAN | in | 例如:test in (val1, val2 , …) 如果test值鞥与后面列表中的任一值返回true |
INT | instr(STRING str , STRING substr) | 查找字符串str中的子字符串substr第一次出现的位置 |
INT | length(STRING s) | 计算字符串s的长度 |
INT | locate(STRING substr,STRING str [,INT pos]) | 查找在字符串str中的pos位置后字符串substr第一次出现的位置 |
STRING | lower(STRING s) | 将字符串中所有字母转换成小写字母。例如:upper(‘hlvE’)的结果是’hive‘ |
STRING | Itrim(STRING s ) | 将字符串s前面的空格全部去除掉。例如trim(‘hive‘) |
STRING | trim(STRING s) | 将字符串s前后的空格全部去掉 |
STRING | substr(STRING s , STRING start_index , STRING length) | 将字符串s 从start位置开始截取length长度的字符串。例:substr(’sdfasd’ , 1 ,2) 结果为 sd |
STRING | upper(STRING s ) | 将字符串s中所有字母转换为大写字母 |
STRING | from_unixtime(BIGINT unixtime[ , STRING format]) | 将时间戳秒数转换为指定format格式 |
BIGINT | unix_timestamp() | 获取当前本地时区下的当前时间戳 |
BIGINT | unix_timestamp(STRING date) | 输入的时间字符串格式必须是yyyy-MM-dd HH:mm:ss 如果不符合格式则返回0,符合则转换为Unix时间戳 |
STRING | to_date(STRING timestamp) | 返回时间字符串的日期部分,例:to_date("1970-01-01 00:00:00”) 返回1970-01-01 |
INT | year(STRING date) | 返回时间字符串的年份并使用int类型表示。例:year(“1970-01-01 00:00:00”) 结果为1970 |
INT | month(STRING date) | 返回时间字符串中的月份并使用int类型表示。例:mongth(“1970-01-01 00:00:00”) 结果为01 |
INT | day(STRING date) | 返回时间字符串中的天,并使用int类型表示。例:day("1970-01-01 00:00:00”) 结果为01 |
INT | hour(STRING date) | 返回时间戳字符串的小时并使用int表。例:hour("1970-01-01 00:00:00”) 结果为00 |
INT | minute(STRING date) | 返回时间字符串中的分钟数 |
INT | second(STRING date) | 返回时间字符串中的秒数 |
INT | weekofyear(STRING date) | 返回时间字符串位于一年中的第几周内,例:weekofyear("1970-01-01 00:00:00”) 结果为1 |
INT | datediff(STRING enddate , STRING startdate) | 计算开始时间startdate到结束时间enddate相差天数。例:datediff(“2020-09-09 , “2020-09-10”) j结果为 -1 |
INT | date_sub(STRING startdate , INT days) | 从开始时间startdate中减去days天,例:date_sub(“2020-09-09” , 1) 结果为:2020-09-08 |
小记--------hive sql函数及hive 命令行简单操作-2
原文:https://www.cnblogs.com/yzqyxq/p/13727430.html