以下查询是否正确且更具体TransferTime < (GetDate() - 3
?
$num_rows = $db->doQuery('
SELECT Class, TransferTime
FROM USERDATA
WHERE strUserId = ?
AND (TransferTime < (GetDate() - 3) OR TransferTime IS NULL)
', $character);
它是否会检查strUserID
和transfertime
是否少于3天,因为它在3天内确实无法正常工作?
答案 0 :(得分:3)
GETDATE() - 3
将当前日期和时间减去3天。如果您需要在3天之前使用该过滤器,从00:00:00.000
开始,则需要首先删除TIME
的{{1}}部分。如果使用SQL Server 2008+,则可以将GETDATE()
强制转换为GETDATE()
:
DATE
对于以前的版本,您可以使用:
WHERE TransferTime < DATEADD(DAY,-3,CONVERT(DATE,GETDATE()))
答案 1 :(得分:0)
尝试:
select GetDate() - 3
它将真正从当前日期+时间删除72小时