kerrycode

ORACLE 常用函数——字符函数

2011-04-27 00:51  潇湘隐者  阅读(10757)  评论(0编辑  收藏  举报
-----------------------------------------------字符函数---------------------------------------------

--1: ASCII
返回字符串的ASCII值
  
SELECT ASCII(\'A\'FROM DUAL;

SELECT ASCII(\'a\'FROM DUAL;


--2:  CHR
返回整数所对应的ASCII字符

SELECT CHR(\'65\'FROM DUAL;

SELECT CHR(400FROM 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\'330FROM 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里面出现的。
--
--------------------------------------------------------------------------------------------------

分类:

技术点:

相关文章: