2016-02-07 71 views
0
DECLARE @CheckUserID int, @LastLog datetime 

SELECT 
    @CheckUserID = COUNT(strUserID) 
FROM 
    USERDATA 
WHERE 
    strUserID = @NewCharID 

SELECT 
    @LastLog = LogDate 
FROM 
    _LOG 
WHERE 
    AccountID = @AccountID 
ORDER BY 
    LogDate DESC 

IF @CheckUserID = 0 AND @LastLog < DATEADD(hour, -2, GETDATE()) 
    OR @LastLog IS NULL 
BEGIN 
    .... 
END 

我想補充2小時條件SQL時間差異2小時conditon

+0

哪個RDBMS更換這是爲了什麼?請添加一個標籤來指定您是使用'mysql','postgresql','sql-server','oracle'還是'db2' - 或者其他的東西。 –

+0

MSSQL其存儲過程 – hackerdot

+0

請說清楚你需要什麼,在你的問題上已經有兩小時(落後)的條件。 –

回答

1

我認爲這個問題是關係到operator precedence

IF @CheckUserID = 0 AND @LastLog < DATEADD(hour, -2, GETDATE()) 
    OR @LastLog IS NULL 

IF (@CheckUserID = 0 AND (@LastLog < DATEADD(hour, -2, GETDATE()) 
    OR @LastLog IS NULL))