2019-08-09------HIVE SQL语法总结(3)

1.case when ... then ... else ... end

2.length(string)

3.cast(string as bigint)

4.rand()      返回一个0到1范围内的随机数

5.ceiling(double)    向上取整

6.substr(string A, int start, int len)

7.collect_set(col)函数只接受基本数据类型,它的主要作用是将某字段的值进行去重汇总,产生array类型字段

8.concat()函数

    1、功能:将多个字符串连接成一个字符串。

    2、语法:concat(str1, str2,...)

    返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。

9.concat_ws()函数

    1、功能:和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)

    2、语法:concat_ws(separator, str1, str2, ...)

    说明:第一个参数指定分隔符。需要注意的是分隔符不能为null,如果为null,则返回结果为null。

10.nvl(expr1, expr2):空值转换函数 nvl(x,y) Returns y if x is null else return x

11.if(boolean testCondition, T valueTrue, T valueFalse)

12.row_number()over()分组排序功能,over()里头的分组以及排序的执行晚于 where group by order by 的执行。

13.获取年、月、日、小时、分钟、秒、当年第几周

    select

    year('2018-02-27 10:00:00')      as year

    ,month('2018-02-27 10:00:00')      as month

    ,day('2018-02-27 10:00:00')        as day

    ,hour('2018-02-27 10:00:00')      as hour

    ,minute('2018-02-27 10:00:00')    as minute

    ,second('2018-02-27 10:00:00')    as second

    ,weekofyear('2018-02-27 10:00:00') as weekofyear

获取当前时间:

    1).current_timestamp

    2).unix_timestamp()

    3).from_unixtime(unix_timestamp())

    4).CURRENT_DATE

你可能感兴趣的:(2019-08-09------HIVE SQL语法总结(3))