今天在使用LINQ时,由于数据库中的时间保存的是varchar()格式,查询时需要比较时间先后,于是使用了:
复制代码 代码如下:
from j in system.jhzd
where j.dwbm.ToString().Trim() == branchcode.ToString().Trim()
Convert.ToDateTime(j.yearmonth.ToString().Trim()).CompareTo(Convert.ToDateTime(timeFrom)) >= 0
Convert.ToDateTime(j.yearmonth.ToString().Trim()).CompareTo(Convert.ToDateTime(timeTo)) = 0
join b in system.t_sys_Branch
on j.dwbm.ToString().Trim() equals b.BranchCode
join c in system.T_CWLB
on j.xmlb.ToString().Trim() equals c.ID
select new
{
BranchName = b.BranchName,
category = c.CWMC,
money = j.je,
comefrom = j.zjly,
time = j.yearmonth,
zhaiyao = j.zhaiyao,
}
可是,使用时却发现数据库报 "从字符串向 datetime 转换时失败"。
试了很多方法,仍没有用,最终发现,数据库中yearmonth这个字段的字符串保存的是"2013年01月04日",
当把它改成"2013-01-04"时,发现查询正常,有效。
您可能感兴趣的文章:- sql语句中如何将datetime格式的日期转换为yy-mm-dd格式
- 将WMI中的DateTime类型转换成VBS时间的函数代码
- 时间字符串转换成日期对象datetime的方法
- Sql中将datetime转换成字符串的方法(CONVERT)
- Python中实现对Timestamp和Datetime及UTC时间之间的转换
- C#、.Net中把字符串(String)格式转换为DateTime类型的三种方法
- Java 和 Javascript 的 Date 与 .Net 的 DateTime 之间的相互转换