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
返回字符串并将字符串的全部单词的首字母大写;
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里面出现的。

 

----------------------------------------------------------------------------------------------------

转载来源:https://www.cnblogs.com/kerrycode/archive/2011/04/27/2029927.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值