我有一个包含年度数据的数据表。 e.g。
dtDate Value
2010-01-01 00:00:00.000 5.0000
2011-01-01 00:00:00.000 15.0000
2012-01-01 00:00:00.000 25.0000
2013-01-01 00:00:00.000 35.0000
2014-01-01 00:00:00.000 45.0000
现在我想将这个数据表用于月度流程。因此,对于2010年的所有月份,我想使用值= 5。例如如果我的约会时间是2010年2月2日02/01/20它应该给我回复
如何使用datatable.select
方法?我想要一些有效的过滤表达式。
答案 0 :(得分:1)
DataTable.Select(filterExpression)重载方法包含参数filterExpression,该参数使用与通过Expression属性创建计算列的语法相同的语法。
您可以使用此代码获取所需的行
Dim dt as DateTime dt = new DateTime(2010,1,1,0,0,0)
Dim r as DataRow() r = DataTable.Select("dtDate = #" + dt.ToString("yyyy-MM-dd") + "#");
如果您的目的是让2010年的记录通过年份= 2010的任何日期,那么您可以使用此语法
' Supposing date passed is 1/May/2010 and you want the record with 2010 as year.
Dim dt as DateTime dt = new DateTime(2010,5,1,0,0,0)
Dim r as DataRow() r = DataTable.Select("dtDate = #01/01/" + dt.Year.ToString()) + "#");