Oracle中的独有函数
填充函数
与MYSQL类似,Oracle中也提供了用于进行字符串填充的函数LPAD()、RPAD(),其参数格式如下:
LPAD(char1,n [,char2])
RPAD(char1, n [,char2])
与MYSQL中不同的是,Oracle中LPAD()和RPAD()函数的第三个参数是可以省略的,如果省略第三个参数,则使用单个空格进行填充。
如:分别将每个人的姓名用星号左填充和井号右填充到5个字符
SELECT FName,LPAD(FName,5,"*"),RPAD(FName,5,"#") FROM T_Person
执行结果:
FNAME LPAD(FNAME,5,*) RPAD(FNAME,5,#)
Tom **Tom Tom##
Jim **Jim Jim##
Lily *Lily Lily#
Kelly Kelly Kelly
Sam **Sam Sam##
Kerry Kerry Kerry
Smith Smith Smith
BillGates BillG BillG
返回当月最后一天
Oracle中的LAST_DAY()函数可以用来计算指定日期所在月份的最后一天的日期。
如:计算每个人出生时当月的最后一天的日期:
SELECT FName,FBirthDay,
LAST_DAY(FBirthDay) FROM T_Person
WHERE FBirthDay IS NOT NULL
计算最大最小值
和MYSQL类似,Oracle中提供了用来计算一个集合中的最大和最小值的GREATEST()函数和LEAST()函数。其使用方法和MYSQL一致:
SELECT GREATEST(2,7,1,8,30,4,5566,99,2,222,12),
LEAST(2,7,1,8,30,4,3,99,-2,222,12) FROM DUAL
执行结果:
GREATEST(2,7,1,8,30,4,5566,99,2,222,12) LEAST(2,7,1,8,30,4,3,99,-2,222,12)
5566 -2
辅助功能函数
USER函数用来取得当前登录用户名,注意使用这个函数的时候不能使用括号形式的空参数列表,也就是USER()这种使用方式是不对的。正确使用方式如下:
SELECT USER FROM DUAL
执行结果:
USER
SYS
USERENV()函数用来取得当前登录用户相关的环境信息,这个函数的返回值为字符串类型,需要根据情况将返回值转换为合适的类型。它的参数格式如下:
USERENV(option)
option参数为要取得的环境信息的名称,可取值如下:
可取值说明
"ISDBA" 如果当前登录用户有DBA的角色则返回TRUE,否则返回FALSE
"LANGUAGE" 返回当前登录用户使用的语言和字符集,返回格式为“语言.字符集”
"TERMINAL" 返回当前登录用户的操作系统标识
"SESSIONID" 返回当前登录用户的会话标识
"ENTRYID" 返回当前登录用户的认证标识
"LANG" 返回当前用户使用的语言,它比"LANGUAGE"的返回值短
"INSTANCE" 返回当前实例的标识
如:取得当前登录用户的语言信息和权限信息:
SELECT USERENV("ISDBA") AS ISDBA,USERENV("LANGUAGE") AS LANGUAGE,USERENV("LANG") AS LANG FROM DUAL
执行结果:
ISDBA LANGUAGE LANG
TRUE SIMPLIFIED
CHINESE_CHINA.AL32UTF8
ZHS