📜  SQL Server 中的 USER_NAME()函数(1)

📅  最后修改于: 2023-12-03 15:05:17.686000             🧑  作者: Mango

SQL Server 中的 USER_NAME() 函数

USER_NAME() 函数是 SQL Server 中的一个系统函数,用于返回当前执行上下文中的当前用户的名称。

语法
USER_NAME ( [ server_user_id ] )

参数:

  • server_user_id (可选): 定义一个整数值,表示登录到服务器上的用户的 ID。如果未提供此参数,则函数返回当前用户的名称。
返回值

USER_NAME() 函数返回一个 nvarchar 数据类型的值,表示当前用户的名称。

示例

对于以下示例,我们假设具有 ID 1 的用户名称为 'John Doe'。

-- 返回当前用户的名称
SELECT USER_NAME() AS CurrentUserName;

-- 返回用户 ID 为 1 的用户名称
SELECT USER_NAME(1) AS UserNameByID;

输出:

| CurrentUserName | |:-----------------:| | John Doe |

| UserNameByID | |:-----------------:| | John Doe |

注意事项
  • 如果当前用户未登录到服务器,或者未提供 server_user_id 参数且当前用户不是数据库中的用户,那么 USER_NAME() 函数将返回 NULL。
  • USER_NAME() 函数对于安全操作是非常有用的,因为它可以根据当前用户的身份在数据库中进行相关操作,例如控制访问权限、记录日志等。
  • USER_NAME() 函数是 SQL Server 中的系统函数,在任何数据库中都可以使用。

请注意,USER_NAME() 函数不同于 SYSTEM_USER 函数,后者返回执行当前语句的登录名。

更多信息可参考 Microsoft SQL Server 文档:USER_NAME()