时间在SQL SERVER 是有固定的格式的你可以用CONVERT(……)转

解决方案 »

  1.   

    你数据库保存的日期的格式可能是yyyy-MM-dd hh:mm:ss
      

  2.   

    ToShortDateString 是短时间类型"2010-02-20";数据库中的data是“2010-02-20 00-00-00”
    你在SQL的时候把他们都能成字符了,用LIKE不加%肯定不行啊
    家里米数据库,不然就可以给你演示一下了。
      

  3.   

    我不是写了 st=st+"%"了吗?
      

  4.   


    select Convert(varchar(20),time,120) from Counseling 2010-03-23 00:00:00
    2010-03-23 00:00:00
    2010-03-23 00:00:00
    2010-03-28 12:39:30
    2010-03-28 12:39:50把st换成2010-05-20%是可以的这是怎么回事啊?2010-03-23 00:00:00 like '2010-05-20%'
      

  5.   

    用这种方式结构清晰点。
    估计是不是拼接字符串的时候有问题。
    string sqlModel="select * from Mytest where Convert(varchar(20),data,120) like '{0}'%";
    SqlCommand com = new SqlCommand(string.Format(sqlModel,st ), conn);
      

  6.   

    select * from Mytest where Convert(varchar(10),data,120) 
    10长度就好了  刚好匹配日起 百分号在后面 表示匹配2010-05-20开始的日期  懂了没
      

  7.   

    我觉得直接用=来匹配性能会好点,用like会比较慢
      

  8.   

    想不麻烦就把数据库里边的日期该成varchar行的
      

  9.   

    不知道大家注意到这点没有dateTimePicker1.Value.ToShortDateString()的值存在4种格式“2010-5-1”,"2005-5-12","2005-10-5","2005-10-25"而数据库里的datatime的格式为“xxxx-xx-xx xx:xx:xx”问题就出在这里哈。