我想在SQL Server 2005中将datetime转换为unix时间戳并更新表值

时间:2014-10-06 08:47:37

标签: sql sql-server-2005

这在语法方面是否真的是一个正确的查询:?我需要先知道它是否有效。 我希望你明白我要做的事。

所以请告诉我。

update userdata 
set totaltime = totaltime + (DATEDIFF(s, '19700101', GETDATE()) - logintime) 
where user= .....

totaltimelongtime列都在userdata表中。

totaltime列也是这样插入的:

update userdata 
set totaltime = DATEDIFF(s, '19700101', GETDATE())

基本上我这样做是为了将SQL Server中的datetime转换为unix时间戳以便于计算,所以这一切都正确吗?

快速解释我想要做的事情:

我想为大多数在线用户添加排名(例如在线1天,2天等),因此在登录系统时 - 它将使用用户登录时的当前时间更新列LoginTime断开连接后 - 它应该在断开连接和LoginTime时比较当前时间,并在额外的在线时间更新TotalTime。所以,我相信我想用unix时间戳做的是最好的,对吧?通过这种方式我可以更轻松地将在线时间添加到特定用户的总数中,是不是正确的?

0 个答案:

没有答案