我想编写一个返回3列的过程,最后一列在原始表格中不存在,这是我想在LastLogin和当前时间之间得到的时间差,但我不知道怎么写它。到目前为止,这就是我所拥有的,但我甚至不确定这是不是这样。
ALTER PROCEDURE sp_W_getSesionSupervisor
@Plaza varchar(255),
@UserLevel int
DECLARE @tempSupervisor TABLE (
UserName varchar(255),
LastLogin DATETIMEOFFSET,
tTranscurrido DATETIMEOFFSET
);
BEGIN
INSERT INTO @tempSupervisor (UserName, LastLogin)
SELECT UserName, LastLogin FROM UsersAdmin
WHERE Plaza = @Plaza AND UserLevel = @UserLevel
UPDATE @tempSupervisor
SET tTranscurrido = DIFFERENCE(LastLogin, DateTimeOffset)
SELECT * FROM @tempSupervisor
END
答案 0 :(得分:1)
单个SELECT语句可以返回相同的结果,如下所示。是否要求有程序?
SELECT UserName,LastLogin,DIFFERENCE(LastLogin,DateTimeOffset) 来自UsersAdmin 广场= @Plaza和UserLevel = @UserLevel
@Plaza和@UserLevel将是查询的参数。如果不需要,可以跳过参数。