本次主要总结了以下字符函数的作用及使用方法:
|
函 数
|
说 明
|
|
ASCII
|
返回对应字符的十进制值
|
|
CHR
|
给出十进制返回字符
|
|
CONCAT
|
拼接两个字符串,与 || 相同
|
|
INITCAT
|
将字符串的第一个字母变为大写
|
|
INSTR
|
找出某个字符串的位置
|
|
INSTRB
|
找出某个字符串的位置和字节数
|
|
LENGTH
|
以字符给出字符串的长度
|
|
LENGTHB
|
以字节给出字符串的长度
|
|
LOWER
|
将字符串转换成小写
|
|
LPAD
|
使用指定的字符在字符的左边填充
|
|
LTRIM
|
在左边裁剪掉指定的字符
|
|
RPAD
|
使用指定的字符在字符的右边填充
|
|
RTRIM
|
在右边裁剪掉指定的字符
|
|
REPLACE
|
执行字符串搜索和替换
|
|
SUBSTR
|
取字符串的子串
|
|
SUBSTRB
|
取字符串的子串(以字节)
|
|
SOUNDEX
|
返回一个同音字符串
|
|
TRANSLATE
|
执行字符串搜索和替换
|
|
TRIM
|
裁剪掉前面或后面的字符串
|
|
UPPER
|
将字符串变为大写
|
|
NVL
|
以一个值来替换空值
|
1、ASCII(<xxx>)
<xxx>是字符串,返回与指定的字符对应的十进制数。
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
A a ZERO SPACE
---------- ---------- ---------- ----------
65 97 48 32
2、CHR(n])
给出整数,返回对应字符。如:
SQL> select chr(65) chr65 from dual;
C
-
A
3、CONCAT(<c1>,<c2>)
返回字符串c1与字符串c2合并后的值。例如:
SQL> select concat('010-','8801 8159') from dual;
CONCAT('01
-----------------
010-8801 8159
4、INITCAP(<c1>)
返回字符串c1 并第一个字母变为大写。例如:
SQL> select initcap('simth') upp from dual;
UPP
-----
Simth
5、INSTR(<c1>,<c2>[,<I>[,<j>] ] )
在一个字符串中搜索指定的字符,返回发现指定的字符的位置。
C1: 被搜索的字符串
C2: 希望搜索的字符串
I: 搜索的开始位置,缺省是1
J: 出现的位置,缺省是1。
SQL> SELECT INSTR ('Oracle Training', 'ra', 1, 2) "Instring" FROM DUAL;
Instring
----------
9
6、INSTRB(<c1>,<c2>[,<I>[,<j>] ] )
除了返回的字节外 ,与INSTR 相同,
7、LENGTH( <c> )
返回字符串 c 的长度。
SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from nchar_tst;
NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL))
------ ------------ ---------------- ------------ ---------- ----------------
张五一 3 北京市海淀区 6 99999.99 8
8、LENGTHB( <c> )
以字节返回字符串的字节数。
SQL> select name,lengthb(name),length(name) from nchar_tst;
NAME LENGTHB(NAME) LENGTH(NAME)
------ ------------- ------------
张五一 6 3
9、LOWER ( <c> )
返回字符串并将所有字符变为小写。
SQL> select lower('AaBbCcDd') AaBbCcDd from dual;
AABBCCDD
--------
aabbccdd
10、UPPER( <c>)
与 LOWER 相反,将给出字符串变为大写。如:
SQL> select upper('AaBbCcDd') AaBbCcDd from dual;
AABBCCDD
--------
AABBCCDD
11、RPAD和LPAD
RPAD(string,Length[,'set'])
LPAD(string,Length[,'set'])
RPAD在列的右边用特定的字符补齐;
LPAD在列的左边用特定的字符补齐。
例1:
SQL>select RPAD(City,35,'.'),temperature from weather;
RPAD(City,35,'.') temperature
-------------------------- ----------------
CLEVELAND...... 85
LOS ANGELES.. 81
.........................
(即不够35个字符用'.'补齐)
12、LTRIM(左截断)RTRIM(右截断)
LTRIM (string [,’set’])
Left TRIM (左截断)删去左边出现的任何set 字符。
RTRIM (string [,’set’])
Right TRIM (右截断)删去右边出现的任何set 字符。
例1:
SELECT RTRIM (‘Mother Theresa, The’, ‘The’) FROM DUAL;
RTRIM (‘M
---------------
Mother Theresa,
13、SUBSTR Substr(string,m[,n]) 截取字符串函数
substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符
substr("ABCDEFG", 2); //返回:CDEFG,截取从C开始之后所有字符
substr("ABCDEFG", 0, 3); //返回:ABC,截取从A开始3个字符
substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。
substr("ABCDEFG", -3); //返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变。
14、SUBSTRB(string,m[,n])
对字串(或字段),从m字节 开始,连续取 n个字节并返回结果,如果没有指n则一直取到尾。
15、REPLACE (‘string’ [,’string_in’,’string_out’])
String: 希望被替换的字符串或变量。
String_in: 被替换字符串。
String_out: 要替换字符串。
SQL> select replace ('111222333444','222','888') from dual;
REPLACE('111
--------------------
111888333444
更多oracle学习文章分享,关注我哦
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31125451/viewspace-2082674/
,如需转载,请注明出处,否则将追究法律责任。