日期:2014-05-16 浏览次数:20562 次
一些常用的orcale函数【字符函数——返回字符值】
【chr,concat,initcap,lower,upper,nls_initcap,nls_lower,nls_upper,
replace,rpad/lpad,trim/rtrim/ltrim,soundex,substr/substrb,translate】
<1>CHR
语法:chr(x)
功能:给出整数X,返回对应的ASCII码字符。CHR和ASCII是一对反函数。
SQL> select chr(47083) feng,chr(65),ASCII('冯') chr65 from dual;
FENG CHR(65) CHR65
---- ------- ----------
冯 A 47083
<2>concat
语法:CONCAT(string1,string2)
功能:连接两个字符串
SQL> select concat('0571-','66668888')||'转8850' 连接 from dual;
连接
-------------------
0571-66668888转8850
<3>initcap
语法:INITCAP(string)
功能:返回字符首字母大写,其余小写。
SQL> select initcap('feng MING xIang') 首字母大写 from dual;
首字母大写
---------------
Feng Ming Xiang
<4>lower
语法:LOWER(string)
功能:所以字母小写
SQL> select lower('FENG MING XIANG') 小写 from dual;
小写
---------------
feng ming xiang
<5>upper
语法:UPPER(string)
功能:所有字母大写。
(不是字母的字符不变.如果string是CHAR数据类型的,那么结果也是CHAR类型的。
如果string是VARCHAR2类型的,那么结果也是VARCHAR2类型的).
SQL> select upper('feng miang xiang') 大写 from dual;
大写
----------------
FENG MIANG XIANG
<6>NLS_INITCAP
语法:NLS_INITCAP(string[,nlsparams])
功能:返回字符串每个单词第一个字母大写而单词中的其他字母小写的string,nlsparams
指定了不同于该会话缺省值的不同排序序列。如果不指定参数,则功能和INITCAP相同。
Nlsparams可以使用的形式是:'NLS_SORT=sort' 这里sort制订了一个语言排序序列。
按照笔划排序'NLS_SORT=SCHINESE_STROKE_M'
按照部首排序'NLS_SORT=SCHINESE_RADICAL_M'
按照拼音排序'NLS_SORT=SCHINESE_PINYIN_M'
<7>NLS_LOWER
语法:NLS_LOWER(string[,nlsparams])
功能:返回字符串中的所有字母都是小写形式的string。不是字母的字符不变。
Nlsparams参数的形式与用途和NLS_INITCAP中的nlsparams参数是相同的。
如果nlsparams没有被包含,那么NLS_LOWER所作的处理和LOWER相同。
<8>NLS_UPPER
语法:nls_upper(string[,nlsparams])
功能:返回字符串中的所有字母都是大写的形式的string。不是字母的字符不变。
nlsparams参数的形式与用途和NLS_INITCAP中的相同。
如果没有设定参数,则NLS_UPPER功能和UPPER相同。
使用位置:过程性语句和SQL语句。
<9>REPLACE
语法:REPLACE(string,search_str[,replace_str])
功能:把string中的所有的子字符串search_str用可选的replace_str替换,
如果没有指定replace_str,所有的string中的子字符串search_str都将被删除。
REPLACE是TRANSLATE所提供的功能的一个子集。
REPLACE('string','s1','s2')
string 希望被替换的字符或变量
s1 被替换的字符串
s2 要替换的字符串
SQL> select replace('he love you','he','I') 替换 from dual;
替换
----------
I love you
<10>LPAD/RPAD
语法:LPAD/RPAD(string1,x[,string2])
功能:返回在X字符长度的位置上插入一个string2中的字符的string1。
如果string2的长度要比X字符少,就按照需要进行复制。
如果string2多于X字符,则仅string1前面的X各字符被使用。
如果没有指定string2,那么使用空格进行填充。X是使用显示长度可以比字符串的实际长度要长。
RPAD的行为方式与LPAD很相似,除了它是在右边而不是在左边进行填充。
RPAD和LPAD(粘贴字符)
RPAD 在列的右边粘贴字符
LPAD 在列的左边粘贴字符
SQL> SELECT distinct aah02||lpad(aah03,2,'0') FROM aah_file;
AAH02||LPAD(AAH03,2,'