Oracle SYS_CONTEXT() 函数使用指南

Oracle SYS_CONTEXT() 是一个内置函数,它返回当前时刻与给定上下文相关联的给定的参数的值。

Oracle SYS_CONTEXT() 语法

这里是 Oracle SYS_CONTEXT() 函数的语法:

SYS_CONTEXT('namespace', 'parameter' [, length ])

参数

'namespace'

必需的。命名空间。 Oracle 内置了 2 个命名空间: USERENV (当前会话) 和 SYS_SESSION_ROLES (指示当前是否为会话启用指定角色)。

'parameter'

必需的。参数名称。

length

可选的。返回值最大是 256 个字节,您可以使用此参数覆盖此值。

返回值

Oracle SYS_CONTEXT() 函数返回当前时刻与给定上下文相关联的给定的参数的值。

如果任意一个参数为 NULLSYS_CONTEXT() 将返回 NULL

Oracle SYS_CONTEXT() 示例

这里有几个展示了 Oracle SYS_CONTEXT() 函数用法的示例。

获取登录名

以下语句返回登录到数据库的用户的名称:

SELECT
    SYS_CONTEXT('USERENV', 'SESSION_USER')
FROM dual;

输出:

SYS_CONTEXT('USERENV','SESSION_USER')
________________________________________
SYSTEM

NULL 参数

如果任意一个参数为 NULLSYS_CONTEXT() 将返回 NULL

SET NULL 'NULL';
SELECT
    SYS_CONTEXT(NULL, NULL) NULL_1,
    SYS_CONTEXT(NULL, NULL, NULL) NULL_2
FROM dual;

输出:

NULL_1    NULL_2
_________ _________
NULL      NULL

在本示例中,我们使用 SET NULL 'NULL'; 语句将 NULL 值显示为 'NULL' 字符串。

结论

Oracle SYS_CONTEXT() 是一个内置函数,它返回当前时刻与给定上下文相关联的给定的参数的值。

您可以从此处查看此函数的更多信息。