我在下面输入了以下代码:
$db = $this->database[GDB];
$num_rows = $db->doQuery('SELECT TOP 100 strUserId, TotalTime, Nation, LoginDT FROM USERDATA WHERE Authority IN(1, 2) ORDER BY TotalTime DESC');
if ($num_rows == -1)
{
$db->getError();
return;
}
我想做的是以下内容:
ORDER BY
喜欢这样:
TotalTime + (time() + 7200 - LoginDT)
我在上面的查询中如何做到这一点?
我使用的是MSSQL Server 2005
答案 0 :(得分:1)
你试过吗
SELECT TOP 100 strUserId, TotalTime + (time() + 7200 - LoginDT) as
newTotalTime, Nation, LoginDT FROM USERDATA WHERE Authority IN(1, 2)
ORDER BY newTotalTime DESC
答案 1 :(得分:0)
您可以将查询更改为此
$num_rows = $db->doQuery('SELECT TOP 100 strUserId, TotalTime, Nation, LoginDT FROM USERDATA WHERE Authority IN(1, 2) ORDER BY (TotalTime + ('.time().' + 7200 - LoginDT)) DESC');
请注意,查询与time()连接,因为它是PHP函数,而不是SQL Server函数。
这是生成的查询
SELECT TOP 100 strUserId, TotalTime, Nation, LoginDT FROM USERDATA WHERE Authority IN(1, 2) ORDER BY (TotalTime + (1416132847 + 7200 - LoginDT)) DESC