概述
本文介绍sql语句中的字符函数
连接字符串
使用concat(n1,n2,...)
函数
select concat('Dear ',ename,',您的工资是:',sal) as 工资条 from emp
过滤首尾空格
有时数据库中的值首尾包含空格,去掉空格使用函数 trim()
注意: 只能去掉首尾的空格
select trim(ename) from emp
转大写
使用函数 upper(n)
返回字符串的大写形式
SELECT * FROM emp WHERE ename=UPPER('smith')
转小写
使用函数 lower(n)
返回字符串的小写形式
SELECT empno,lower(ename),job FROM emp
截取字符串
语法:
substr(chr ,m[,n])
或
substring(chr ,m[,n])
解释: 截取chr的字串
m
代表开始位置,有以下两种情况:- 当
m
为1
时从首字符开始 - 当
m
为负数时,表示倒数,如:-1
表示倒数第一个字符
- 当
n
有以下两种情况:- 不写,表示截取到末尾
- 不是0,表示要截取的长度
例子
截取入职年份:
select ename,substr(hiredate,1,4),substring(hiredate,1,4) from emp
select ename,substr(ename,1,1) from emp
substr(ename,1,1) 截取第一个字符
substr(ename,2,1) 截取第二个字符
SELECT * FROM EMP WHERE substr(ENAME,2,1) ='A'
替换字符串
将查询结果中的某个字符替换成另一个字符,通过下面函数实现:
replace(列名,'原字符','替换字符')
把名字中的A替换成B
select ename,replace(ename,'A','B') from emp
练习
- 查询员工信息,结果为:您好【员工姓名】,您本月的工资为【工资金额】,您本月的奖金为【奖金金额】,合计为【工资+奖金】