我有一个数据表,我正在查询值:
res = (from rows in dtInvoicesStamped.AsEnumerable()
where rows.Field<string>("Centre Name") == col.Name &&
(rows.Field<string>("Doc Type") == row.Name
select rows).CopyToDataTable();
它工作正常,直到我需要查询特定月份的值:
res = (from rows in dtInvoicesStamped.AsEnumerable()
where rows.Field<string>("Centre Name") == col.Name &&
(rows.Field<string>("Doc Type") == row.Name
&& rows.Field<DateTime>("Date Loaded") == period.Month)
select rows).CopyToDataTable();
**差异在上面代码的第4行
如果我尝试添加句点,即月份,则会返回错误
运算符'=='不能应用于DateTime和Int。
类型的操作数
如果我只使用句号,它会正常,但显然它不会返回整个月的数据。
我在这里缺少什么?我需要做什么才能将这个附加条件添加到我的数据表查询中?
答案 0 :(得分:2)
尝试使用(rows.Field<DateTime>("Date Loaded")).Month == period.Month
答案 1 :(得分:1)
您无法直接将日期时间与月份进行比较。使用>>>df.head()
col col2
a Yes_PFD_1
0 no_PFD_2
2 no_PFD_3
3 no_PFD_4
5 Yes_PFD_5
与月份进行比较。
rows.Field<DateTime>("Date Loaded").Month