AI智能
改变未来

Oracle常用的字符函数使用详解(字符截取、定位、填充、替换等等)

(1)、字符大小写转换函数:

1、UPPER:字符全部转成大写2、LOWER:字符全部转成小写3、INITCAP:字符首字母大写

使用示例:

(2)去除空白及字符串函数 TRIM,LTRIM,RTRIM**

1、trim:

1、默认截掉字符两侧的空白

使用示例:

2、trim([trim_str from] x): 从字符串X中截掉指定字符

使用示例:

通过实践发现trim([trim_str from] x)只能截取最左边或者最右边单个指定字符
如下图:字符串中间的o并未去掉

2、LTRIM(X[,TRIM_STR]):

截掉字符串X左边的TRIM_STR(指定截取)字符(可一次性截取多个字符)如图:把字符串左侧的指定字符给截取掉了


2、RTRIM(X[,TRIM_STR]):

截掉字符串X右边的TRIM_STR(指定截取)字符。(可一次性截取多个字符)如图:把字符串右侧的指定字符给截取掉了


(3) substr 、 substrb截取字符函数

substr:根据字符长度来获取字符串(常用)substrb:根据字节长度来取字符串

补充:oracle里面定义字符类型默认长度是byte;如:varchar2(10)表示的是10个字节长度

substr:
格式:substr(str, start_position, length):
str:需要进行截取操作的字符串
start_position:从字符串的第几位开始截取
length:截取的长度

如图:从字符串左侧的第2位开始截取5个字符

substrb:

从字符串右侧往左的第5位开始截取3个字符

(4)length、lengthb查询字符串长度

length:显示的是字符串的字符长度;lengthb:显示的是字符串的字节长度;

length:按字符计算长度,汉字、英文、数字都是1个字符


lengthb:按字节计算长度,英文、数字都是1个字节,汉字是三个字节
示例:

(5)concat、||字符串连接

concat:CONCAT(X,Y) 只能拼接两个字符串,可以嵌套使用||: X||Y||Z,可拼接多个字符串

concat使用示例:

||使用示例:

(6)instr:字符查找函数

返回指定字符在字符串中的位置

1、instr(原字符串,要查询的字符或者字符串)

返回第1个字符b从左往右的所在位置


2、instr(原字符串,要查询的字符或者字符串,起始位置,匹配序号)

返回第2个字符b从左往右的所在位置


(6)ASCII、CHR:ascii

字符与ascii码的相互转换ascii: 将字符转换成ascii码值chr:   将ascii码值转换成字符

使用示例:

(7)lpad、rpad字符填充函数

lpad(需要填充的字符串,填充后的字符长度,填充字符串):向字符左边填充字符串

rpad(需要填充的字符串,填充后的字符长度,填充字符串):向字符右边填充字符串
(8)replace、regexp_replace、translate:替换函数

1、replace(字符串,要被替换的字符,替换字符)

若替换字符为空,则仅去掉要被替换的字符


2、regexp_replace(字符串,要被替换的字符,替换字符)
功能与replace相似,但支持正则表达式

将字符串中含有的a和c字符都替换成*


3、translate
translate(字符串,要被替换的字符,替换字符)
注意:替换字符要与被替换的字符长度一致,多出来的字符将不会被替换进去,如下图的C

以上函数都可以结合实际情况联合使用:
范例:substr&instr

数据:

如何截取出字符串中的0.2?

字符串:d|我|银行|wer|0.2|hh|sien|000

首先,instr定位0.2前后的‘|’;
然后,substr进行截取

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Oracle常用的字符函数使用详解(字符截取、定位、填充、替换等等)