其他函数

前面介绍了单行函数以及聚合函数,下面介绍几个不属于前面类型的函数,主要是系统环境和编码方面的函数。

1. USER 函数。

该函数返回当前会话的登录名。演示脚本如下:

select user
from dual;

2. USERENV(parameter) 函数。

返回当前会话的信息。

例如,当参数为 Language 时可以返回当前会话对应的语言、字符集等。

SESSIONID 可返回当前会话 ID

ISDBA 可返回当前用户是否 DBA

示例将演示返回当前用户是否 DBA 用户。脚本如下:

select userenv('ISDBA')
from dual;

3. SYS_CONTEXT(namespace,parameter) 函数。

该函数可以得到 Oracle 已经创建的 context ,名为 USERENV 的属性对应值。

示例将得到当前会话对应的用户名。

脚本如下:

select sys_context('USERENV', 'SESSION_USER') session_user
from dual;

4. DECODE 函数。

该函数的具体语法是 DECODE(expr,search,result[,search1,result1](,default))

该函数的执行过程是,当 expr 符合条件 search 时就返回 result 的值,该过程可以重复多个,如果最后没有匹配的结果,可以返回默认值 default ,注意它是一对一的匹配过程。

下面的示例将演示 emp 中工资高于 2000 的就显示“高薪”,少于或等于 2000 则显示“低薪”。

脚本如下:

select sal,
       decode(sign(sal - 100), 1, '高薪', -1, '低薪', 0, '低薪')
from emp;

从函数中可以看出它只能和单一的条件匹配,如果要想得到某个范围,可以利用其他的函数做辅助。

© 2019 刘士. All rights reserved.

结果匹配 ""

    没有匹配的结果 ""