![](/img/trans.png)
[英]How to concatenate a date and a time string and compare with a DateTime using LINQ
[英]How to convert date to string and compare using Linq
Sql查询的一部分:
...
RIGHT(cast([ADJ_DATE] AS DATE), 5) DH
...
它以DataTable( dt
)中的以下格式返回该列:
11-15
11-13
11-20
11-14
尝试执行以下操作:
string dat = DateTime.Now.AddDays(-2).ToString("MM-dd"); // which returns 11-13
var k = dt.AsEnumerable().Any(row => dat == Convert.ToString(row.Field<DateTime>("DH"))); //should return the row with 11-13, but instead I get an error
错误:
Exception Details: System.InvalidCastException: Specified cast is not valid.
我如何更新代码,以便获得期望的结果。
您不需要DateTime
var k = dt.AsEnumerable().Any(row => dat == row.Field<string>("DH"));
RIGHT
返回具有指定字符数的字符串的右侧部分。
请在这里看看。
更新资料
如果要获取DH
值等于dat
所有行,则应使用Where
方法:
var rows = dt.AsEnumerable().Where(row => dat == row.Field<string>("DH"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.