对数据表结果使用SQL函数

本文关键字:SQL 函数 数据表 结果 | 更新日期: 2023-09-27 18:24:18

我有一个带有DATETIME列的数据库表。我想做的是确定记录的日期部分是否与今天的日期部分相同。但是,我有一个数据表对象,不能使用daUsage.Select和SQL函数DATEPART。

所以我想问的是,是否有一种方法可以在不使用select函数的情况下从数据表中筛选结果。如果这是可能的,怎么做?我可以使用LINQ,但我对它还很陌生,我觉得一定有更好的方法可以做到这一点。

感谢

对数据表结果使用SQL函数

您可以使用DataTable。选择以检查您的日期是否在今天0点到第二天0点之间:

string selectString = String.Format("DateColumn >= '{0}' AND DateColumn < '{1}'",
                      DateTime.Today.ToString(DateTimeFormatInfo.InvariantInfo), 
                      DateTime.Today.AddDays(1).ToString(DateTimeFormatInfo.InvariantInfo));
bool hasTodayRecords = dt.Select(selectString).Length > 0;

这样你只能得到今天的记录。

在LINQ中,您可以将DateTime.Date与DateTime.Today:进行比较

bool hasTodayRecords = dt.AsEnumerable().
     Any(r => DateTime.Today.Equals(((DateTime)r["DateColumn"]).Date));