我试图从数据表中选择一个日期时间列包含某个dd / mm的数据行在我的使用C#的Windows表单应用程序中,如何做到这一点?我知道表达式与SQL类似。
列的DataType是datetime,例如:09/03/2017 13:26:40
到目前为止,我已经尝试了以下但它只是返回一个例外:
string selectExpression = "colDate LIKE '%09/03%'";
DataRow[] rows = dataTable.Select(selectExpression);
答案 0 :(得分:1)
您将获得异常,因为您将字符串过滤器应用于DateTime。如果colDate是字符串,你可以使用它的类型然后我测试你的代码及其工作。
要使用DateTime类型过滤DataTable列,您可以使用linQ查询,如下所示。
var rows = dataTable.AsEnumerable().Where(r=>r.Field<DateTime>("colDate").Day == 9
&& r.Field<DateTime>("colDate").Month == 3);