日期:2014-05-16  浏览次数:20422 次

2.常用的ORACLE函数【字符函数——返回数字】

一些常用的ORACLE函数【字符函数——返回数字】
【ascii,instr/instrb,length/lengthb,nlssort】

<1>ASCII
语法:  ASCII(string)
功能: 数据库字符集返回string的第一个字节的十进制表示.
请注意该函数仍然称作为ASCII.尽管许多字符集不是7位ASCII.
CHR和ASCII是互为相反的函数.CHR得到给定字符编码的响应字符.
ASCII得到给定字符的字符编码.
ASCII 返回与指定的字符对应的十进制数;
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
A         A      ZERO     SPACE
--------- --------- --------- ---------
65        97        48        32

<2>INSTR
语法:  INSTR(string1, string2[a,b])/INSTR(string1, string2[a,b])
功能:  得到在string1中包含string2的位置.
string1时从左边开始检查的,开始的位置为a,如果a是一个负数,
那么string1是从右边开始进行扫描的.第b次出现的位置将被返回.a和b都缺省设置为1,这将会返回在string1中第一次出现string2的位置.
如果string2在a和b的规定下没有找到,那么返回0.
位置的计算是相对于string1的开始位置的,不管a和b的取值是多少.
INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
C1   被搜索的字符串
C2   希望搜索的字符串
I    搜索的开始位置,默认为1
J    出现的位置,默认为1
INSTRB和INSTR相同,只是操作的对参数字符使用的位置的是字节.
SQL> select instr('吃喝oracle玩traning乐','ra',1,2) instring from dual;
INSTRING
---------
11

SQL> select instrb('吃喝oracle玩traning乐','ra',1,2) instring from dual;
INSTRING
---------
14

<3>LENGTH
语法:  LENGTH(string)/LENGTHB(string)
功能:  LENGTH返回字符串的长度
LENGTHB返回以字节为单位的string的长度.对于单字节字符集LENGTHB和LENGTH是一样的.
SQL> SELECT   LENGTH (' 打死那些小日本鬼子 ') 返回字符串长度  FROM DUAL;
返回字符串长度
-----------------
 11

SQL> SELECT   LENGTHB (' 打死那些小日本鬼子 ') 返回字符串长度  FROM DUAL;
返回字符串长度
-----------------
 20
 
<4>NLSSORT
语法: NLSSORT(string[,nlsparams])
功能: 得到用于排序string的字符串字节.
所有的数值都被转换为字节字符串,这样在不同数据库之间就保持了一致性.
Nlsparams的作用和NLS_INITCAP中的相同.
如果忽略参数,会话使用缺省排序.

 

********************************************************************

大笑==== Till good is better, but better best

大笑====“我的努力不会停止,敬请期待吧!”My trying hard will go on!Please wait and see!

********************************************************************