zoukankan      html  css  js  c++  java
  • hive 常用函数方法

    hive常用语句

    CONCAT_WS:1能根据指定的字符分隔array 或者能根据指定的字符拼接 多个字段  (数据需要是string类型)
    CONCAT_WS("&",["fad","peng"]) as names =>输出结果 fad&peng (concat with separator)
    CONCAT_WS('_',id,name) : id_name =>1_jinpeng

    select concat('hena','-','zhengzhou','-','jinshui');      --查询结果 henan-zhengzhou-jinshui

    select concat_ws('-','hena','zhengzhou','jinshui');   --查询结果 henan-zhengzhou-jinshui

    COALESCE(EXPRESS1,EXPRESS2,EXPRESS3,...) 当遇到第一个不为null的值时即返回
    coalesce(123,23,-1) => 123 , coalesce(null,null,11,23) => 11

    DATE_SUB(Date,days) as 7daysAgo: 表示将日期向前调整days DATE_SUB('2017-10-15 23:00:00',4) => 2017-10-11 23:00:00


    split('192.168.0.1','.') =>结果为空(因为.为特殊字符,要转义) split('192.168.0.1','\.') =》["192","168","0","1"]

    regexp_replace(string A, string B, string C)   将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符,类似oracle中的regexp_replace函数
    SUM(CASE WHEN content_type=1 THEN 1 ELSE 0 END) AS feature_film_vv

    select parse_url('http://www.iqiyi.com/login/123433','HOST');   --查询结果 www.iqiyi.com

    select parse_url('http://www.baidu.com/login/123433','PATH'); --查询结果 /login/123433

    select parse_url('http://www.baidu.com/login/123433','PROTOCOL'); --查询结果 http

    select unix_timestamp();  --查询时间戳
    select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss');  --查询时间戳,并格式化

    select repeat('ab',3);   --查询结果:ababab  

    select lpad('ab3',6,'j'); --如果第一个参数长度不够6,则向左(右 rpad)补j直到长度够 6 --结果 jjjab3
    select lpad('ab33333',6,'j'); --如果第一个参数长度够6,则不再向左(右 rpad)补j --结果 ab33333

    select trim('jin peng tao  ');  --去掉左右空格

    ltrim(string A) --左去空格

    rtrim(string A)--右去空格

    select to_date('2021-10-16 09:55:54'); -- 将时间戳转换成日期类型字符串  2021-10-16

    datediff(string enddate, string startdate) 返回int 的两个日期差            select datediff('2021-10-16', '2021-10-10');  --两个日期相减

    date_add(string startdate, int days) 日期加减

    date_format(date/timestamp/string ts, string fmt) 按照格式返回字符串     select date_format('2021-10-16 09:55:54', 'yyyy-MM-dd');     2021-10-16

    last_day(string date) 返回 当前时间的月末日期        select last_day('2021-10-16 09:55:54');  2021-10-31

    select if (length('we')=3,'haha','dk');  --查询结果 dk

    nvl(T value, T default_value) 如果T is null ,返回默认值

    select split('a-c','-'); --查询结果  ["a","c"]     如果是特殊字段,需要转义

    select split('a-c','-')[1]; --查询结果  "c" 

  • 相关阅读:
    Linux Screen
    python SQLAlchemy 学习
    python Django 分页功能
    大数据 HBase Shell
    HBase 表操作
    Nginx 编译安装
    python Django 发送邮件
    python Django 用户管理和权限认证
    python shutil 文件操作
    python zip 压缩文件
  • 原文地址:https://www.cnblogs.com/pengtaotao/p/15460025.html
Copyright © 2011-2022 走看看