当前位置: Oracle DBA培训网-优技培训 >> oracle技术 >

oracle技术:ORACLE 常用函数——字符函数

oracle技术:ORACLE 常用函数——字符函数

oracle技术:ORACLE 常用函数——字符函数 ASCII、CHR、CONCAT、INITCAP、LENGTH、LOWER、UPPER、LTRIM、RTRIM、SUBSTR、INSTR、RPAD、LPAD、REPLACE、SOUNDEX、TRIM、NVL、NVL2、NANVI

--1: ASCII

返回字符串的ASCII值

SELECT ASCII('A') FROM DUAL;

SELECT ASCII('a') FROM DUAL;

--2: CHR

返回整数所对应的ASCII字符

SELECT CHR('65') FROM DUAL;

SELECT CHR(400) FROM DUAL; --如果超出ACII值,则返回空

--3: CONCAT 函数

连接字符串A和字符串B

SELECT CONCAT('您好', '欢迎来到ORACLE世界') AS TEXT FROM DUAL;

--3.1 如果要连接表里面的两个字段可以用||

SELECT TYPECODE || '____' || TYPE_NAME AS "TYPE" FROM USER_TYPES;

--4: INITCAP

返回字符串并将字符串的第一个字母变为大写;

--Q 是否每个单词的第一个字母都会变成大些? 全部单词的首字母大写

SELECT INITCAP('your didn''t try your best') FROM DUAL;

--5: LENGTH

返回字符串的长度;

--Q:返回表某条数据某个列实际长度,如果该表没有数据,返回0

SELECT LENGTH(TYPE_NAME) FROM USER_TYPES

--6: LOWER

返回字符串,并将所有的字符小写

SELECT LOWER('AbcDedf Gbad') FROM DUAL;

--7: UPPER

返回字符串,并将所有的字符大写

SELECT UPPER('abcdEf') FROM DUAL;

--8: LTRIM(X,[TRIM_STRING])

LTRIM 删除左边出现的字符串, 默认为空字符串

SELECT LTRIM(' hello world!') FROM DUAL;

SELECT LTRIM('hello, world', 'hello') FROM DUAL;

--9: RTRIM(X, [TRIM_STRING])

RTRIM 删除右边出现的字符串TRIM_STRING,默认为空字符串。

SELECT RTRIM('hello world! ') FROM DUAL;

--10: SUBSTR(string,start,count)

取子字符串,从start开始,取count个

SELECT SUBSTR('you are right!, come on', 3, 30) FROM DUAL;

--11: INSTR(C1,C2,I,J)

在一个字符串中搜索指定的字符,返回发现指定的字符的位置;

C1 被搜索的字符串

C2 希望搜索的字符串

I 搜索的开始位置,默认为1

J 出现的位置,默认为1

SELECT INSTR('HELLO WORLD! WELCOME', 'WORLD', 1) FROM DUAL;

--12: RPAD

RPAD 在列的右边粘贴字符

--注意长度值并不是粘贴字符的长度,而是整个字符串的长度,如果长度小于原始字符串

--SELECT RPAD('HELLO', 4, '*') FROM DUAL; 的值为HELL

SELECT RPAD('HELLO', 10, '*') FROM DUAL;

SELECT RPAD('HELLO', 10, 'E') FROM DUAL;

--13: LPAD

LPAD 在列的左边粘贴字符

--N: 注意的问题同上

SELECT LPAD('WELCOME', 20, 'HELLO') FROM DUAL;

--14: REPLACE('string','s1','s2')

string 希望被替换的字符或变量

s1 被替换的字符串

s2 要替换的字符串

SELECT REPLACE('HE LOVE YOU', 'HE' ,'I') FROM DUAL;

--15: SOUNDEX

返回一个与给定的字符串读音相同的字符串

SQL> create table table1(xm varchar(8));

SQL> insert into table1 values('weather');

SQL> insert into table1 values('wether');

SQL> insert into table1 values('gao');

--16.TRIM('s' from 'string')

LEADING 剪掉前面的字符

TRAILING 剪掉后面的字符

如果不指定,默认为空格符

SELECT TRIM('Y' FROM 'YOU') FROM DUAL;

--17: NVL(X, VALUE)

如果X是空值,返回VALUE,否则返回X

SELECT NVL(NULL, '2') FROM DUAL;

SELECT NVL('33', '2') FROM DUAL;

--18: NVL2(X, VALUE1, VALUE2)

如果X是空值,返回VALUE1, 否则返回VALUE2

SELECT NVL2(NULL, '3', '4') FROM DUAL;

--19: NANVI(X, VALUE)

如果X不是数字,那么返回VALUE,否则返回X

SELECT NANVI('3DF', '34') FROM DUAL; --不知是否是ORACLE 11里面出现的。

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙