日期:2014-05-16 浏览次数:20469 次
一些常用的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!
********************************************************************