1、字符串合并
# 将字符串拼接起来,没有空格
select concat("tony","is","a","teacher") as "name";
# 有空格方式
select concat_ws(" ","tony","is","a","teacher") as "name";
# sep 不能为null,后续会被忽略
select concat_ws(null,"tony","is","a","teacher") as "name";
2、字符串比较
strcmp(str1,str2) str1 > str2返回1 = 返回0 小于 返回 -1
select strcmp("abc","bcd"),
strcmp("abc","abc"),
strcmp("abc","abb");
3、length 、char_length 字符串长度
英文占用一个字符。一个汉字占用长度与字符编码有关
select length("tony"),"tony";
获取中文长度,用char_length()
select char_length("哈哈哈"),"哈哈哈";
4、大小写转换
select "tony",UPPER("tony");
select "TONY",lower("TONY");
5、字符串查找
#返回值是 4 ,mysql中下标从1 开始
find_in_set(str1,str2)
select find_in_set("tony","shu ju fen xi,python,mysql,tony");
fielf(str1,str2,str3,...strn)
#返回与第一个字符串匹配的后续字符串位置
select field("tony","shu ju fen xi","python","mysql","tony");
返回str 中 str1 的开始位置,返回3 ,返回 ny 在 tony开始位置
select locate("ny","tony"),position("ny" in "tony");
6、字符串截取
select left|right("tony",2);
# 返回str的从num开始的len个字母
substring(str,num,len)
select substring("tony",2,2); 返回 on
7、字符串首尾空格
左侧空格 ltrim(str)
右侧空格 rtrim(str)
trim(str)
8、替换字符串
1、insert(str,pos,len,newstr)
str:待插入字符串
pos:开始位置
len:长度
newstr : 新字符串
#转化后字符串为:这是 oracle 数据库管理系统
SELECT "这是mysql数据库管理系统" 字符串,
INSERT("这是mysql数据库管理系统" ,3,5,"oracle") 转化后;
# 开始位置大于字符串长度 返回 这是mysql数据库管理系统
SELECT "这是mysql数据库管理系统" 字符串,
INSERT("这是mysql数据库管理系统" ,16,15,"oracle") 转化后;
#长度大于字符串长度 返回 这是oracle
SELECT "这是mysql数据库管理系统" 字符串,
INSERT("这是mysql数据库管理系统" ,3,15,"oracle") 转化后;
replace(str,substr,newstr) 用oracle 替换 “这是mysql数据库管理系统”中的mysql
SELECT "这是mysql数据库管理系统" 字符串,
replace ("这是mysql数据库管理系统" ,"mysql","oracle") 转化后;