类别:

上下文函数 (通用)

SYS_CONTEXT

返回关于调用该函数的上下文信息。

另请参阅:

SYS_CONTEXT(SNOWFLAKE$APPLICATION 命名空间)SYS_CONTEXT(SNOWFLAKE$ENVIRONMENT 命名空间)SYS_CONTEXT(SNOWFLAKE$ORGANIZATION 命名空间)SYS_CONTEXT(SNOWFLAKE$ORGANIZATION_SESSION 命名空间)SYS_CONTEXT(SNOWFLAKE$SESSION 命名空间)

语法

用来检索属性的语法:

SYS_CONTEXT(
  '<namespace>' ,
  '<property>'
)
Copy

用来调用函数的语法:

SYS_CONTEXT(
  '<namespace>' ,
  '<function>' , '<argument>' [ , ... ]
)
Copy

实参

'namespace'

您要检索的属性或要调用的函数的命名空间。您可以指定以下命名空间之一:

命名空间

描述

SNOWFLAKE$APPLICATION

提供调用该函数的应用程序相关上下文的属性和函数。

SNOWFLAKE$ENVIRONMENT

提供调用该函数的环境相关上下文的属性。这些属性包括关于以下内容的信息:

  • 用于调用该函数的客户端、驱动程序或库。

  • 与调用该函数的会话关联的账户。

  • 该账户的区域。

SNOWFLAKE$ORGANIZATION

提供当前组织相关上下文的函数。

SNOWFLAKE$ORGANIZATION_SESSION

在当前账户属于某个组织时,提供调用该函数的会话相关上下文的属性。

SNOWFLAKE$SESSION

提供调用该函数的会话相关上下文的属性和函数。

'property'

要检索的属性的名称。您可以指定的属性取决于命名空间。有关可指定属性的列表,请参阅 命名空间 <label-sys_context_namespace_list> 的文档

'function'

要调用的函数的名称。您可以调用的函数取决于命名空间。请参阅 命名空间 <label-sys_context_namespace_list> 的文档 查看可以调用的函数列表。

'argument' [ , ... ]

要传递给要调用的函数的实参。

返回

该函数会返回一个 VARCHAR 或 NULL 值。

  • 返回值取决于要检索的属性或要调用的函数。

    有关该命名空间中函数的属性和返回值的信息,请参阅 每个命名空间 <label-sys_context_namespace_list> 的文档

  • 在以下情况下,该函数返回 NULL:

    • 无法从函数调用的上下文中访问该命名空间。例如,如果您在应用程序代码之外调用函数,尝试访问 SNOWFLAKE$APPLICATION 命名空间中的属性将返回 NULL。

    • 属性的值或函数调用的返回值为 NULL 或不存在。

一些属性和函数将布尔值作为字符串 TRUEFALSE 返回。要将此返回值与 BOOLEAN 值 TRUE 或 FALSE 进行比较,请将返回值 转换 为 BOOLEAN。例如:

SELECT SYS_CONTEXT('SNOWFLAKE$SESSION', 'IS_ROLE_ACTIVATED', 'MY_CUSTOM_ROLE')::BOOLEAN = TRUE;
Copy
+-----------------------------------------------------------------------------------------+
| SYS_CONTEXT('SNOWFLAKE$SESSION', 'IS_ROLE_ACTIVATED', 'MY_CUSTOM_ROLE')::BOOLEAN = TRUE |
|-----------------------------------------------------------------------------------------|
| True                                                                                    |
+-----------------------------------------------------------------------------------------+

访问控制要求

有关该命名空间中属性和函数的访问控制要求的信息,请参阅 每个命名空间 <label-sys_context_namespace_list> 的文档

使用说明

有关该命名空间中属性和函数的使用说明,请参阅 每个命名空间 <label-sys_context_namespace_list> 的文档

示例

有关检索该命名空间中的属性和调用函数的示例,请参阅 每个命名空间 <label-sys_context_namespace_list> 的文档

语言: 中文