SUSER_NAME()
和CURRENT_USER
有什么区别?
答案 0 :(得分:1)
CURRENT_USER
此函数返回当前用户的名称。此功能等效于
USER_NAME()
。
它将在数据库中返回用户名。
返回用户的登录标识名称。
差异表:
+--------------------------------------+---------------------------------------------------+
| CURRENT_USER | SUSER_NAME([server_user_id]) |
+--------------------------------------+---------------------------------------------------+
| Returns the name of the current user | Returns the login identification name of the user |
| No parameters | The paramater is optional |
| Return sysname | Return nvarchar(128) |
| No need to parentheses | Must call it with parentheses |
+--------------------------------------+---------------------------------------------------+
例如,运行此查询并查看结果:
SELECT CURRENT_USER, --or USER_NAME() parameter is optional
SUSER_NAME(4) --parameter is optional
答案 1 :(得分:1)
CURRENT_USER
返回当前安全上下文的名称,并且不包含任何参数。它在功能上等效于USER_NAME()
SUSER_NAME()
将返回用户的登录标识名-您可以传递server_user_id
来返回用户的详细信息,也可以不传递任何东西来返回有关当前用户的详细信息。
您可以运行以下命令自己查看差异:
SELECT SUSER_NAME();
SELECT CURRENT_USER;
答案 2 :(得分:0)
Current_User
将返回数据库中的用户名,而SUSER_NAME()
将返回服务器上的用户名。这是两者之间的主要区别。如您所见,Current_user没有参数,而SUSER_NAME()有参数。