C# 如何在存储过程sql中添加秒和小时
我使用的是MicrosoftSQLServerManagementStudio 2008。我正试图从数据库中获取信息。下面是linq查询的示例C# 如何在存储过程sql中添加秒和小时,c#,sql,sql-server,linq,stored-procedures,C#,Sql,Sql Server,Linq,Stored Procedures,我使用的是MicrosoftSQLServerManagementStudio 2008。我正试图从数据库中获取信息。下面是linq查询的示例 var fbPost = db.FacebookStatusUpdates .Where(f => f.Status == FacebookNotificationStatus.Active && f.Alarm.User.FbStatu
var fbPost = db.FacebookStatusUpdates
.Where(f => f.Status == FacebookNotificationStatus.Active &&
f.Alarm.User.FbStatus == true)
.AsEnumerable()
.Where(f => f.FacebookUpdateTime - f.ClientTime.Offset <=
DateTimeOffset.Now.UtcDateTime.AddSeconds(f.Offset))
.ToList();
var fbPost=db.facebook状态更新
。其中(f=>f.Status==FacebookNotificationStatus.Active&&
f、 Alarm.User.FbStatus==真)
.可计算的()
.其中(f=>f.FacebookUpdateTime-f.ClientTime.OffsetProbem是否存在:
DATEADD(hour,datepart(tz,a.ClientTime),a.FacebookUpdateTime)
datepart(tz,a.ClientTime)以分钟为单位返回偏移量,因此我改为
DATEADD(minute,datepart(tz,a.ClientTime),a.FacebookUpdateTime)
2013-11-13 12:03:36.0000000+02:00 datepart返回120。查看DATEDIFF(…)SQL Server 2008有一个类型,相当于.NET的。通过将表类型更改为它,可以避免转换,并可以使用简单的比较运算符进行查询
and DATEADD(hour,datepart(tz,a.ClientTime),a.FacebookUpdateTime)<=DATEADD(second, a.Offset, @date2);
DATEADD(hour,datepart(tz,a.ClientTime),a.FacebookUpdateTime)
DATEADD(minute,datepart(tz,a.ClientTime),a.FacebookUpdateTime)