SQL中的自动用户签名

时间:2017-06-28 07:21:01

标签: sql username create-table

尝试将用户名添加到表中,但我将dbo作为用户名

CREATE TABLE username
(
ID int,
Date datetime default CURRENT_TIMESTAMP,
Signatur varchar(200) default CURRENT_USER,
Comment varchar(255),

);

然后

INSERT INTO username
(Comment)
VALUES
('Just some text');

SELECT * FROM username
ORDER BY Date desc;

result

当我用SYSTEM_USER或SUSER_SNAME()替换CURRENT_USER时,我得到用户名DESKTOP-0DM0L90 \ jokr1

如何仅将 jokr1 作为用户名?

1 个答案:

答案 0 :(得分:0)

完整的用户名是domain \ user;这就是所有用户/ suser等命令给你的东西。您可以使用标准字符串操作技术来获取字符串的一部分。

CREATE TABLE username
(
ID int,
Date datetime default CURRENT_TIMESTAMP,
Signatur varchar(200) default right(SYSTEM_USER,len(SYSTEM_USER)-charindex('\',SYSTEM_USER)),
Comment varchar(255),

);

如果您想要识别与此相关的“用户”,我建议您通过以下方式存储SID:

SELECT SUSER_SID(system_user)