[英]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.