hive教程:字符串操作

概述

本文介绍sql语句中的字符函数

连接字符串

使用concat(n1,n2,...)函数

  1. select concat('Dear ',ename,',您的工资是:',sal) as 工资条 from emp

过滤首尾空格

有时数据库中的值首尾包含空格,去掉空格使用函数 trim()
注意: 只能去掉首尾的空格

  1. select trim(ename) from emp

转大写

使用函数 upper(n)
返回字符串的大写形式

  1. SELECT * FROM emp WHERE ename=UPPER('smith')

转小写

使用函数 lower(n)
返回字符串的小写形式

  1. SELECT empno,lower(ename),job FROM emp

截取字符串

语法:

  1. substr(chr ,m[,n])

  1. substring(chr ,m[,n])

解释: 截取chr的字串

  • m 代表开始位置,有以下两种情况:
    • m1 时从首字符开始
    • m 为负数时,表示倒数,如: -1 表示倒数第一个字符
  • n 有以下两种情况:
    • 不写,表示截取到末尾
    • 不是0,表示要截取的长度

例子

截取入职年份:

  1. select ename,substr(hiredate,1,4),substring(hiredate,1,4) from emp
  1. select ename,substr(ename,1,1) from emp
  2. substr(ename,1,1) 截取第一个字符
  3. substr(ename,2,1) 截取第二个字符
  4. SELECT * FROM EMP WHERE substr(ENAME,2,1) ='A'

替换字符串

将查询结果中的某个字符替换成另一个字符,通过下面函数实现:

  1. replace(列名,'原字符','替换字符')

把名字中的A替换成B

  1. select ename,replace(ename,'A','B') from emp

练习

  1. 查询员工信息,结果为:您好【员工姓名】,您本月的工资为【工资金额】,您本月的奖金为【奖金金额】,合计为【工资+奖金】

原文出处:https://malaoshi.top/show_1IX3GYVoWCSM.html