ORACLE 常用函数——字符函数

-- ---------------------------------------------字符函数---------------------------------------------

-- 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里面出现的。
--
--------------------------------------------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值