字符型函数

一、概念

按不同得功能用途而封装好得程序,不必花费大量得心思编写相应得程序,直接使用即可。
函数由函数名,参数组成
函数定义上分为:系统函数,自定义函数

二、系统函数

1.字符型函数
2.日期函数
3.转换函数
4.数值函数
5.其他函数

字符型函数

1.concat()连接函数、||

concat(String1,String2):将String和String拼接在一起,一次只能包含两个函数;
示例:

字段和字段拼接
select concat(ename,sal) from emp

注意:
1)concat在使用时含有两个函数,若拼接多个数据需要嵌套函数。
2)拼接表中得列时,不需要加引号声明

2.大写/小写转换函数

lower(String1)/upper(String2) 将括号内的字符转换成小写/大写
initcap(String) 将字符串中的每个单词改成首字母大写,其他字母小写的形式
示例:

小写:select lower(ename) from emp
	大写:select upper (ename) from emp
	首字母大写:select initcap(ename) from emp

注意:
1)该函数含有一个参数
2)首字母大写其他字母小写

3.求字符长度

字符集与字符的关系
utf-8:一个汉字占用三个字节
ZHS16GBK:一个汉字占用两个字节
WE8ISO88S9PI:一个汉字占用一个字节—罕见
关键字:
lencth(String) 求取字符串String的长度
lengthb(String): 求字符串的字节长度
示例:

字符长度
		select length(“AMIN”)from emp
		字节长度
		select lengthb(“猴哥”)form emp

4.替换函数

replace(String,s1,s2)
String :要处理的字符串
s1 :被替换的字符
s2 :替换的字符

------将Sring中的s1替换成s2

A.参数个数
将’ASDFGH‘中的DE替换为JI
select replace(’ASDFGH‘,'DE',’JI‘) from dual;
---replace()函数最少有两个参数,至多三个函数

B.多个字符替换

'ASDASDASDE'中的ASD替换为'团灭'
     SELECT REPLACE('ASDASDASDE','ASD','团灭') FROM DUAL;		
 ----替换时从字符串得左侧开始找相同的字符,将多个字符看成一个整体 替换

5.去除函数

ltrim(String,s)

去除字符串String中左侧的S,如果S省略,则默认去除空格

rtrim(String,S)

去除字符串String 中右侧的S,如果S省略,则默认去除空格

trim(Leading/trailing/both ,s from String)

去除字符串String中的S,具体去除左侧/右侧//两侧根据参数leading/triling/both 决定,若省略该参数,默认去除两侧;

参数【S from】决定了被去除的内容,若省略则默认去除空格

示例:

  1).去除'  ASD  ASD  ' 两侧的空格
        SELECT TRIM('  ASD  ASD  ') FROM DUAL;
        
-------A.参数情况
  --包含一个参数
    SELECT RTRIM('  ASD  ASD  ') FROM DUAL; 

–两个参数

'ASDASDEF'中左侧的A去除
 SELECT RTRIM('  ASD  ASD  ','A') FROM DUAL; 
--函数最少一个参数,用于去除空格;最多两个参数,用于去除两侧字符串

-------B.去除字符
–单个字符

SELECT LTRIM('ASDASDEF','A') FROM DUAL;

------ 单个字符在TRIM时,会从字符串左侧、右侧、两侧查找要去除的字符,去除,直到找到第一个不等于第二个参数的字符

 将字符 ‘ASD ASD ASD’中左侧的ASD去除
     SELECT LTRIM('ASD ASD ASD','ASD') FROM DUAL;  

–多个字符去除时,将要去除的字符看做为一个集合,从左、右、两侧开始去除字符,直到找到第一个非集合内的字符为止

6.填充函数

lpad(String,N,String1)/rpad(String,N,String1)
String:要处理的字符串
String1:要填充的字符/字符串
N:填充以达到N长度

–在String左/右侧添加字符String1使长度达到N

A.参数情况

1)参数个数

--在‘asdasd’的左侧、右侧添加1,使长度达到8
  SELECT LPAD('ASDASD',8,1) FROM DUAL;

–函数 最少两个参数 至多三个参数
2).N的大小

--N>LENGTH(STR)
  SELECT LPAD('ASDASD',8,1) FROM DUAL;
--0<N<LENGTH(STR) 
  SELECT LPAD('ASDASD',4,1) FROM DUAL;--不填充,只截取出该长度的字符串
--N<=0
  SELECT LPAD('ASDASD',-1,1) FROM DUAL;--结果为空

7.截取函数

Substr(String,ind,len)
String:要处理的字符串
ind:开始截取字符的位置
len:截取字符的长度

–从字符串String的ind位置,截取len长度的字符串并返回该截取内容,返回的使字符串

示例:
1).参数个数

 --从字符串‘ASDEFGHTING’的第5个位置截取长度为2的字符
     SELECT SUBSTR('ASDEFGHTING',5,2) FROM DUAL; 
 --函数最少两个至多三个

8.获取字符的位置

instr(String,String1,ind,N)
String:要处理的字符串
String1:要查找的字符
ind:查找字符开始的位置
N:查找字符第几次出现

—从ind位置开始查找String中String1第N次出现的位置,返回的是个数值,(数值=从左到右该字符得到位置)

示例:
--查找‘ASDEFGH’中H的位置
  SELECT INSTR('ASDEHFGH','H',1,2) FROM DUAL;

–函数至少两个参数,至多4个参数

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值