字符串函数是单行函数的一种,单行函数接受参数并返回一个值。作用域select语句返回的每一行,每行返回一个结果。可以修改数据类型,可以嵌套。参数可以是某个列或表达式。
1.字符串函数--返回字符值
CHR(integer):给定整数所对应的ASCII码。
CONTAT(String1,String2):连接字符串String1和String2。
INITCAP(String):将字符串String的第一个字母变为大写,其余字母不变。
NLS_INITCAP(String[,nlsparams]):返回字符串每个单词第一个字母大写而单词中的其他字母小写String,nlsparams指定了不同于该会话缺省值不同排序序列。如果不指定参数,则该功能和INITCAP相同。Nlsparams可以使用的形式是:‘NLS_SORT=SCHINESE_STROKE_M’。
LOWER(String):将字符串的全部字母转换为小写。
NLS_LOWER(String[,nlsparams]):与NLS_INITCAP用法类似。
UPPER(String):将字符串String的全部字母转换为大写。
NLS_UPPER(String[,nlsparams]):与NLS_INITCAP用法类似。
LPAD(String,count[,char]):让指定的字符char在字符串String的左边填充。
RPAD(String,start[,char]):让指定的字符char在字符串String的右边填充。
LTRIM(String[,char]):去掉字符串String左边char指定的字符。
RTRIM(String[,char]):去掉字符串String右边char指定的字符。
REPLACE(String,char[,char]):替换字符串。
TRANSLATE(String,from_str,to_str):返回将所出现的from_str中的每个字符替换为to_str中的相应字符以后的String。TAANSLATE是REPLACE所提供的功能的一个超集。如果from_str比to_str长,那么在from_str中而不再to_str中而外的字符将从String中被删除,因为它们没有相应的替换字符。to_str不能为空。Oracle吧空字符串认为是null,并且如果TRANSLATE中的任何参数为null,那么结果也是null;
SUBSTR[String,start[,Length]]:获取字符串String的子串。
soundex(String):返回String的声音表示形式,这对于比较两个拼写不同但是发音类似的单词很有帮助。
2.字符串函数--返回数字
ASCII(String):与CHR具有相反的作用。
INSTR(string1,string2[a,b]):得到string1中包含string2的位置。string1是从左边开始检查的,开始的位置为a,如果a是一个负数,那么string1是从右边开始扫描的。第b次出现的位置将被返回。a和b都缺省设置为1,这将会返回在string1中第一次出现string2的位置。如果string2在a和b的规定下没有找到,那么返回0.位置的计算是相对于string1的开始位置的,不管a和b的取值是多少。
INSTRB(string1,string2[a,b]):和INSTR相同,只是操作的对象数字符使用的位置是字节。
LENGTH(String):返回字符串String的长度。CHAR数值是填充空格类型的,如果string有数据类型CHAR,它的结尾的空格都被计算到字符串长度中间。如果string是null,返回结果是null,不是0.
LENGTHB(string):返回以字节为单位的string的长度。对于单字节字符集LENGTHB和LENGTH是一样的。
NLSSORT(string[,nlsparams]):得到用于排序string的字符串字节。所有的数值都被转换为字节字符串,这样在不同数据库之间就保持了一致性。NLSPARAMS的作用和NLS_INITCAP中的相同。如果忽略参数,会话使用缺省排序。