字符函数——返回字符值
这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值除了特别说明的之外这些函数大部分返回VARCHAR类型的数值字符函数的返回类型所受的限制和基本数据库类型所受的限制是相同的比如VARCHAR数值被限制为字符(ORACLE 中为字符)而CHAR数值被限制为字符(在ORACLE中是)当在过程性语句中使用时它们可以被赋值给VARCHAR或者CHAR类型的PL/SQL变量
ASCII
语法ascii(char c)
功能返回一个字符串的第一个字符的ASCII码他的逆函数是CHR()
使用位置过程性语句和SQL语句
select ascii(罗) from dual;
select chr() from dual;
CHR
语法chr(x)
功能返回在数据库字符集中与X拥有等价数值的字符CHR和ASCII是一对反函数经过CHR转换后的字符再经过ASCII转换又得到了原来的字符
使用位置过程性语句和SQL语句
CONCAT
语法CONCAT(cc)
功能cc均为字符串函数将c连接到c的后面如果c为null将返回c如果c为null则返回c如果cc都为null则返回null他和操作符||返回的结果相同
使用位置过程性语句和SQL语句
INITCAP
语法INITCAP(string)
功能返回字符串的每个单词的第一个字母大写而单词中的其他字母小写的string单词是用空格或给字母数字字符由空格控制字符标点符号进行分隔不是字母的字符不变动
使用位置过程性语句和SQL语句
select INITCAP(luojiayou)from dual;
select INITCAP(luo jia you)from dual;
LTRIM
语法LTRIM(stringstring)
功能返回删除从左边算起出现在string中的字符的stringString被缺省设置为单个的空格数据库将扫描string从最左边开始当遇到不在string中的第一个字符结果就被返回了LTRIM的行为方式与RTRIM很相似
使用位置过程性语句和SQL语句
LOWER
语法LOWER(string)
功能返回字符串并将所有的字符小写
使用位置过程性语句和SQL语句
NLS_INITCAP
语法NLS_INITCAP(string[nlsparams])
功能返回字符串每个单词第一个字母大写而单词中的其他字母小写的stringnlsparams
指定了不同于该会话缺省值的不同排序序列如果不指定参数则功能和INITCAP相同Nlsparams可以使用的形式是NLS_SORT=sort这里sort制订了一个语言排序序列
使用位置过程性语句和SQL语句
NLS_LOWER
语法NLS_LOWER(string[nlsparams])
功能返回字符串中的所有字母都是小写形式的string不是字母的字符不变
Nlsparams参数的形式与用途和NLS_INITCAP中的nlsparams参数是相同的如果nlsparams没有被包含那么NLS_LOWER所作的处理和LOWER相同
使用位置过程性语句和SQL语句
NLS_UPPER
语法nls_upper(string[nlsparams])
功能返回字符串中的所有字母都是大写的形式的string不是字母的字符不变nlsparams参数的形式与用途和NLS_INITCAP中的相同如果没有设定参数则NLS_UPPER功能和UPPER相同
使用位置过程性语句和SQL语句
REPLACE
语法REPLACE(stringsearch_str[replace_str])
功能把string中的所有的子字符串search_str用可选的replace_str替换如果没有指定replace_str所有的string中的子字符串search_str都将被删除REPLACE是TRANSLATE所提供的功能的一个子集
使用位置过程性语句和SQL语句
RPAD
语法RPAD(stringx[string])
功能返回在X字符长度的位置上插入一个string中的字符的string如果string的长度要比X字符少就按照需要进行复制如果string多于X字符则仅string前面的X各字符被使用如果没有指定string那么使用空格进行填充X是使用显示长度可以比字符串的实际长度要长RPAD的行为方式与LPAD很相似除了它是在右边而不是在左边进行填充
使用位置过程性语句和SQL语句
LPAD
语法LPAD(stringx[string])
功能返回在X字符长度的位置上插入一个string中的字符的string如果string的长度要比X字符少就按照需要进行复制如果string多于X字符则仅string前面的X各字符被使用如果没有指定string那么使用空格进行填充X是使用显示长度可以比字符串的实际长度要长RPAD的行为方式与LPAD很相似除了它是在右边而不是在左边进行填充
Stringstring均为字符串x为整数在string的左侧用string字符串补足致长度x可多次重复如果x小于string的长度那么只返回string中左侧x个字符长的字符串其他的将被截去String的缺省值为单空格
使用位置过程性语句和SQL语句
select LPAD() from dual;
select LPAD() from dual;
RTRIM
语法RTRIM(string[string])
功能返回删除从右边算起出现在string中出现的字符stringstring被缺省设置为单个的空格数据库将扫描string从右边开始当遇到不在string中的第一个字符结果就被返回了RTRIM的行为方式与LTRIM很相似
使用位置过程性语句和SQL语句
SOUNDEX
语法SOUNDEX(string)
功能返回string的声音表示形式这对于比较两个拼写不同但是发音类似的单词而言很有帮助返回与string发音相似的词
使用位置过程性语句和SQL语句
SUBSTR
语法SUBSTR(stringa[b])
功能返回从字母为值a开始b个字符长的string的一个子字符串如果a是那么它就被认为从第一个字符开始如果是正数返回字符是从左边向右边进行计算的如果b是负数那么返回的字符是从string的末尾开始从右向左进行计算的如果b不存在那么它将缺省的设置为整个字符串如果b小于那么将返回NULL如果a或b使用了浮点数那么该数值将在处理进行以前首先被却为一个整数
使用位置过程性语句和SQL语句
SUBSTRB
语法SUBSTRB(stringa[b])
功能与SUBSTR大致相同只是ab是以字节计算
使用位置过程性语句和SQL语句
TRANSLATE
语法TRANSLATE(stringfrom_strto_str)
功能返回将所出现的from_str中的每个字符替换为to_str中的相应字符以后的stringTRANSLATE是REPLACE所提供的功能的一个超集如果from_str比to_str长那么在from_str中而不在to_str中而外的字符将从string中被删除因为它们没有相应的替换字符to_str不能为空Oracle把空字符串认为是NULL并且如果TRANSLATE中的任何参数为NULL那么结果也是NULL
使用位置过程性语句和SQL语句
select TRANSLATE(fumbleumfabc) test from dual; cabble
select TRANSLATE(fumblefuabcdd) test from dual; abmble
TRIM
语法TRIM(string)
功能删除string字符串前后的空格
使用位置过程性语句和SQL语句
UPPER
语法UPPER(string)
功能返回大写的string不是字母的字符不变如果string是CHAR数据类型的那么结果也是CHAR类型的如果string是VARCHAR类型的那么结果也是VARCHAR类型的
使用位置过程性语句和SQL语句
字符函数——返回数字
这些函数接受字符参数回数字结果参数可以是CHAR或者是VARCHAR类型的尽管实际下许多结果都是整数值但是返回结果都是简单的NUMBER类型的没有定义任何的精度或刻度范围
ASCII
语法ASCII(string)
功能数据库字符集返回string的第一个字节的十进制表示请注意该函数仍然称作为ASCII尽管许多字符集不是位ASCIICHR和ASCII是互为相反的函数CHR得到给定字符编码的响应字符ASCII得到给定字符的字符编码
使用位置过程性语句和SQL语句
INSTR
语法INSTR(string string[ab])
功能得到在string中包含string的位置string时从左边开始检查的开始的位置为a如果a是一个负数那么string是从右边开始进行扫描的第b次出现的位置将被返回a和b都缺省设置为这将会返回在string中第一次出现string的位置如果string在a和b的规定下没有找到那么返回位置的计算是相对于string的开始位置的不管a和b的取值是多少
使用位置 过程性语句和SQL语句
INSTRB
语法INSTRB(string string[a])
功能和INSTR相同只是操作的对参数字符使用的位置的是字节
使用位置过程性语句和SQL语句
LENGTH
语法LENGTH(string)
功能返回string的字节单位的长度CHAR数值是填充空格类型的如果string由数据类型CHAR它的结尾的空格都被计算到字符串长度中间如果string是NULL返回结果是NULL而不是
使用位置过程性语句和SQL语句
LENGTHB
语法LENGTHB(string)
功能返回以字节为单位的string的长度对于单字节字符集LENGTHB和LENGTH是一样的
使用位置过程性语句和SQL语句
NLSSORT
语法NLSSORT(string[nlsparams])
功能得到用于排序string的字符串字节所有的数值都被转换为字节字符串这样在不同数据库之间就保持了一致性Nlsparams的作用和NLS_INITCAP中的相同如果忽略参数会话使用缺省排序
使用位置过程性语句和SQL语句
数字函数
函数接受NUMBER类型的参数并返回NUMBER类型的数值超越函数和三角函数的返回值精确到位ACOSASINATANATAN的结果精确到位
ABS
语法ABS(x)
功能得到x的绝对值
使用位置过程性语言和SQL语句
ACOS
语法ACOS(x)
功能返回x的反余弦值x应该从到之间的数结果在到pi之间以弧度为单位
使用位置过程性语言和SQL语句
ASIN
语法ASIN(x)
功能计算x的反正弦值X的范围应该是-到之间返回的结果在-pi/到pi/之间以弧度为单位
使用位置过程性语言和SQL语句
ATAN
语法ATAN(x)
功能计算x的反正切值返回值在-pi/到pi/之间单位是弧度
使用位置过程性语言和SQL语句
ATAN
语法ATAN(xy)
功能计算x和y的反正切值结果在负的pi/到正的pi/之间单位是弧度
使用位置过程性语言和SQL语句
CEIL
语法CEIL(x)
功能计算大于或等于x的最小整数值
使用位置过程性语言和SQL语句
COS
语法COS(x)
功能返回x的余弦值X的单位是弧度
使用位置过程性语言和SQL语句
COSH
语法COSH(x)
功能计算x的双曲余弦值
使用位置过程性语言和SQL语句
EXP
语法EXP(x)
功能计算e的x次幂e为自然对数约等于
使用位置过程性语言和SQL语句
FLOOR
语法FLOOR(x)
功能返回小于等于x的最大整数值
使用位置过程性语言和SQL语句
LN
语法LN(x)
功能返回x的自然对数x必须是正数并且大于
使用位置过程性语言和SQL语句
LOG
语法LOG(xy)
功能计算以x为底的y的对数x必须大于而且不等于y为任意正数
使用位置过程性语言和SQL语句
MOD
语法MOD(xy)
功能返回x除以y的余数如果y是则返回x
使用位置过程性语言和SQL语句
POWER
语法POWER(xy)
功能计算x的y次幂
使用位置过程性语言和SQL语句
ROUND
语法ROUND(x[y])
功能计算保留到小数点右边y位的x值y缺省设置为这会将x保留为最接近的整数如果y小于保留到小数点左边相应的位Y必须是整数进行四捨五入
使用位置过程性语言和SQL语句
SIGN
语法SIGN(x)
功能获得x的符号位标志如果x<返回-如果x=返回如果x>返回
使用位置过程性语言和SQL语句
SIN
语法SIN(x)
功能计算x的正弦值X是一个以弧度表示的角度
使用位置过程性语言和SQL语句
SINH
语法SINH(x)
功能返回x的双曲正弦值
使用位置过程性语言和SQL语句
SQRT
语法SQRT(x)
功能返回x的平方根x必须是正数
使用位置过程性语言和SQL语句
TAN
语法TAN(x)
功能计算x的正切值x是一个以弧度位单位的角度
使用位置过程性语言和SQL语句
TANH
语法TANH(x)
功能计算x的双曲正切值
使用位置过程性语言和SQL语句