今天在使用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 之间的相互转换
声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。