MySQL字符函数
1、大小写函数
语法:
upper(str) 返回大写字符,
lower(str) 返回小写字符
select upper(‘abc’),lower(‘ABC’) from dual;
2、空格函数
语法:
ltrim(str) 去除左边空格
rtrim(str) 去除右边空格
trim(str) 去掉两端空格
space(n) 返回指定长度的空格
select ltrim(’ asd ‘),
rtrim(’ asd ‘),
trim(’ a sd '),
space(5)
from dual;
3、连接函数
语法:
concat(str1,str2,…) 拼接字符
concat_ws(separator,str1,str2,…) 按照指定分隔符拼接字符
select concat(‘a’,‘b’,‘c’),
concat_ws(’-’,‘a’,‘b’,‘c’)
from dual;
4、字符长度函数
语法:
char_length(str) 返回字符的个数
length(str) 返回字节的个数
select char_length(‘abc’), – 3
length(‘abc’), – 3
char_length(‘张三’),-- 2
length(‘张三’) – 6
from dual;
5、字符截取函数
语法:
substr(str,pos)
或 substr(str from pos)
或 substr(str,pos,len)
或 substr(str from pos for len) 截取字符 pos=n+1
substring_index(str,delim,count) 截取字符
instr(str,substr) 字符出现的位置
left(str,len) 从字符串左边截取指定长度的字符
right(str,len) 从字符串右边截取指定长度的字符
select substr(‘zhaoxian’,5),
substr(‘zhaoxian’ from 5),
substr(‘zhaoxian’,5,4),
substr(‘zhaoxian’ from 5 for 4),
substring_index(‘zhaoxian@163.com@’,’@’,1), – 第一次出现@的地方,保留左边的所有字符
substring_index(‘zhaoxian@163.com’,’@’,-1),-- 第一次出现@的地方,保留右边的所有字符
instr(‘zhaoxian@163.com’,’@’),
left(‘zhaoxian’,4),
right(‘zhaoxian’,4)
from dual;
6、字符填充
语法:
lpad(str,len,padStr) 在左边填充指定内容,总长度为len
rpad(str,len,padStr) 在右边填充指定内容,总长度为len
select lpad(‘hi’,4,’??’),
lpad(‘hello’,4,’??’),
rpad(‘hi’,4,’??’),
rpad(‘hello’,4,’??’)
from dual;
7、其他常用函数
语法:
quote(str) 屏蔽字符串中转义的字符
repeat(str,count) 重复字符
replace(str,oldstr,newstr) 替换字符
reverse(str) 反转字符
select ‘abc.edf’ as col1,quote(‘abc’.edf’) as col2 from dual;
select repeat(‘aabb’,3) from dual;
select replace(‘aa–bb’,’–’,’@@’) from dual;
select reverse(‘aabb’) from dual;