• Hive常用字符串操作函数


       

    返回类型

    函数名

    描述

    int

    length(string A)

    返回字符串A的长度

    select length(weoirjewo);
    select length(name) from stu;

    此函数在实际工作,可以用于校验手机号,身份号等信息的合法性

    string

    reverse(string A)

    返回字符串A的反转结果

    select reverse('abcd');
    select length(name) from stu;

    string

    concat(string A, string B…)

    字符串连接函数

    select concat ('a','b');

    select concat(id,name) from stu;

    select concat(id,',',name) from stu;

      

    string

    concat_ws(string SEP, string A, string B…)

    带分隔符字符串连接函数:concat_ws
    select concat_ws('.','www','baidu','com'); //www.baidu.com

    string

    substr

    substr,substring
    select substr('abcde',2);从第二个截,截到结尾
    select substr('abcde',1,3);从第一个截,截三个长度
    select substr('wfeww',-2);从尾部截,截两个长度

    可以用于比如截取身份证后几位操作

    string

    upper(string a)
    ucase(string a)

    转大写
     

    string

    lower(string a)
    lcase(string a)

    转小写

    string

    trim(string a)

    去空格
    select trim (' fwoei ');

    string

    ltrim(string a)

    左边去空格函数

    string

    rtrim(string a)

    右边去空格函数

    string

    regexp_replace(string A, string B, string C)

    将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符,
    对需要转义的字符,用[],比如[*],类似oracle中的regexp_replace函数。

       

    select regexp_replace('foobar', 'oo|ar', '');

      

    string

    regexp_extract(string subject, string pattern, int index)

    将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符
    select regexp_extract('foothebar', 'foo(.*)(bar)', 1); //the
    select regexp_extract('foothebar', 'foo(.*)(bar)', 2);//bar
    select regexp_extract('foothebar', 'foo(.*)(bar)', 0);//全取 foothebar
     

    string

    repeat(string str, int n)

    返回重复n次后的str字符串
    select repeat('abc',5)

    array

    split(string str, string pat)

    分割字符串函数: split
    按照pat字符串分割str,会返回分割后的字符串数组
    select split('abtcdtef','t');
    ["ab","cd","ef"]

     

  • 相关阅读:
    CF627A Xor Equation
    CF865C Gotta Go Fast
    HDU 2222 Keywords Search
    BZOJ 2038: [2009国家集训队]小Z的袜子(hose)
    BZOJ 3781: 小B的询问
    BZOJ 1086: [SCOI2005]王室联邦
    BZOJ 2120: 数颜色
    BZOJ 1503: [NOI2004]郁闷的出纳员
    BZOJ 3757: 苹果树
    BZOJ 1861: [Zjoi2006]Book 书架
  • 原文地址:https://www.cnblogs.com/shuzhiwei/p/11031187.html
Copyright © 2020-2023  润新知