作者:一个简单的程序员 | 来源:互联网 | 2023-10-10 19:33
一.字符串拼接concat(asdf,str);--asdfhello二、字符串截取从左开始截取字符串left(str,length)--说明:left(被截取字段,截取长度)se
一. 字符串拼接
concat('asdf',str); -- asdfhello
二、字符串截取
从左开始截取字符串
left(str, length) --说明:left(被截取字段,截取长度) select left('hello',3); --hel
从右开始截取字符串
right(str,length) --说明:right(被截取字段,截取长度) 例: select right('hello',2); --lo
按长度截取字符串
substring(str, pos)
substring(str, pos, length) --说明:substring(被截取字段,从第几位开始截取) substring(被截取字段,从第几位开始截取,截取长度)
substring(str, pos) --pos从1 开始 当pos为0位null
substring(str, pos, length) --说明:substring(被截取字段,从第几位开始截取) substring(被截取字段,从第几位开始截取,截取长度)
SUBSTRING(string FROM position FOR length);
select substring('hello,world',0); --空
select substring('hello,world',2); --ello,world
select substring('hello,world',2,2); --el
SELECT substring('Hello World',-11); --Hello World
SELECT substring('Hello World',-4); --orld
三. 字符串替换
replace(str,original,replace) --说明:replace(字符串,被替换的字符串,替换成的字符串) 例:
select replace('hello world','he','zou'); zoullo world
substr()函数
1、substr(str,pos);
SELECT SUBSTR('2018-08-17',6);
2、substr(str from pos);
SELECT SUBSTR('2018-08-17' FROM 6);
3、substr(str,pos,len);//str:字符串,pos:起始位置,len:截断长度
SELECT SUBSTR('2018-08-17',6,7);
4、substr(str from pos len);
SELECT SUBSTR('2018-08-17' FROM 6 FOR 7);
与MySQL一样,position>0和position<0时是一样的效果,参照上面的下标对应即可,不同的是,position=0和position=1的效果是一样的。
SELECT SUBSTR('Hello World',0) FROM DUAL;
SELECT SUBSTR('Hello World',1) FROM DUAL;
SELECT SUBSTR('Hello World',-11) FROM DUAL;
Hello World
SELECT SUBSTR('Hello World',1,5) FROM DUAL;
SELECT SUBSTR('Hello World',6,20) FROM DUAL;
Hello
World