簡體   English   中英

使用Linq比較兩個SQL日期

[英]Compare two sql dates using Linq

我需要比較SQLServer上的兩個日期,以查看用戶在系統上注冊10秒后是否已經登錄,但是當我嘗試此查詢時,它給了我一個提示。

NotSupportedException [System.NotSupportedException] = {"System.DateTime AddSeconds(Double)"}

查詢:

var query = from user in this.Query()
            where (user.LastLoginDate.AddSeconds(-10) <= user.CreateDate) 
            select std;

好了,這里真的很臟(如果沒有索引,性能可能很差)解決問題的方法,但是它應該可以工作:

var query = from user in this.Query()
            where ((user.LastLoginDate.Date == user.CreateDate.Date
                && user.LastLoginDate.Hour == user.CreateDate.Hour
                && user.LastLoginDate.Minute == user.CreateDate.Minute
                && user.LastLoginDate.Second <= user.CreateDate.Second + 10)
                ||(user.LastLoginDate.Date == user.CreateDate.Date
                && user.LastLoginDate.Hour == user.CreateDate.Hour
                && user.LastLoginDate.Minute + 1 == user.CreateDate.Minute
                && 60 - user.CreateDate.Second + user.LastLoginDate.Second <= 10)) 
            select std;

我想你應該已經明白了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM