Oracle字符串操作
字符串类型:char类型和varchar2类型
char类型
- char类型存放的是定长字符,存不满补空格;
- char最大取值是2000字节,也就是最多保存2000个英文字符,1000个汉字;
- char可以不指定长度,默认为1,例如loc char等价于loc char(1)。
varchar2类型
- varchar2类型存放的是变长字符,存多少占用多少;
- varchar2最大取值是4000字节,也就是最多保存4000个英文字符,2000个汉字;
- varchar2必须指定长度,如果loc varchar2这样写是错误的。
字符串函数
concat和 || 函数
- 语法1:concat(str1,str2),将两个字符串进行连接
concat(‘a’,’b’) -->’ab’
select * from emp; 查询表中所有列
select ename, sal from emp; 查询表中ename列,和sal列
select concat(ename, '的工资是:') from emp; -->SMITH的工资是:
SMITH的工资是: sal ---> SMITH的工资是800
select concat(concat(ename,'的工资是:'), sal) from emp;
- 语法2: || 等价于concat函数,str1 || str2,将str1和str2连在一起
select ename || '的工资是:' || sal from emp;
select ename || '的提成是:' || comm from emp;
强调:使用||或者concat将str1和str2进行连接,如果str1或者str2任何一个是null,相当于连接了一个空格
length函数:求字符串的长度
- 语法:length(str) -->求str的长度
- 说明:str的类型如果是varchar2类型,求出的长度是字符串的实际长度;如果str的类型是char类型,
求出的长度还要包括后补的空格。
name char(10) ‘abc ’ length(name)->10
name varchar2(10) ‘abc’ length(name)->3
select ename, length(ename) from emp;
create table u1(
name char(10),
pwd varchar2(10)
);
insert into u1 values('abc','abc');
select length(name), length(pwd) from u1; 10 3
upper、lower、initcap函数
- 功能:大小写转换函数,用于转换字符的大小写
- 语法:upper(str)用于将字符转换为大写形式
lower(str)用于将字符转换为小写形式
initcap(str)用于将字符串中每个单词的首字母大写
select ename, upper(ename), lower(ename), initcap(ename) from emp;
trim、ltrim、rtrim函数
- 功能:去掉空格
- 语法:trim(str)用于去掉str两边空格
ltrim(str)用于去掉str左边空格
rtrim(str)用于去掉str右边空格
来源:CSDN
作者:Mo*◑
链接:https://blog.csdn.net/qq_44458489/article/details/104608422