表中有一字段名为:
TelTime varchar(80)
存的时间格式为:2007-10-10 11:55:55在txtBox里输入的条件是年月日,即2007-10-10,可是这样查询出来的不是这个时间之内的,比如要查10号到11号的,就必须输入10号到12号才能把11号查出来,如果只输入到11号那只能查出10号的内容来我写的SQL语句:select * from telephone where TelTime between '2007-10-10' and '2007-10-11'

解决方案 »

  1.   

    select * from telephone where Cast(TelTime as datetime) between Cast('2007-10-10' as datetime) and Cast('2007-10-11' as datetime)
      

  2.   


    select * from appuser where Cast(TelTime as datetime) between Cast('2007-10-10' as datetime) and Cast('2007-10-11' as datetime)
      

  3.   

    不行啊,还是一样的。再有就是我输入日期那块是个txtBox,刚才忘记说明了,不好意思
      

  4.   

    还有中方法:
    timeStart= "2007-10-10"  + " 00:00:00";
    timeEnd= "2007-10-11"  + " 24:00:00";当然这必须要你的时间格式为:2007-10-10 11:55:55 
    月份日期两位数, 24hh
      

  5.   

    select * from telephone where TelTime between '2007-10-10' and CAST('2007-10-11'
    AS DATETIME)+1
      

  6.   

    set @start_Date=convert(char(10),@start_Date, 120)+' 00:00:00.000'  
    set @end_Date=convert(char(10),@end_Date, 120)  + ' 23:59:59.000' 
    --------------------------\定义变量
    select * from telephone where TelTime  BETWEEN @start_Date AND @end_Date
      

  7.   

    对日查询使用 datadiff
     where datediff(dd,'2007-10-10',teltime)>=0 and datediff(dd, '2007-10-11',teltime)>=02007-10-11
    值实际上是
    2007-10-11 00:00:00:003
    你用between and当然取不到 日期为10-11的记录了。
      

  8.   

    先改进一下你的语言吧
    你的意思是textbox里输入10-12?
    这样的话无非自己处理下这段字符再按照Snowdust说的做就ok了
    不然就直接按照Snowdust说的做
      

  9.   

    就是在后面的那个时间作为datetime类型 在+1即可
    2007-10-10  -2007-10-10   就是查2007-10-10 00:00:00到2007-10-11 00:00:00
      

  10.   

    对日查询使用   datadiff 
      where   datediff(dd, '2007-10-10',teltime) >=0   and   datediff(dd, '2007-10-11',teltime) >=0 2007-10-11 
    值实际上是 
    2007-10-11   00:00:00:003 
    你用between   and当然取不到   日期为10-11的记录了。
      

  11.   

    用datediff 吧
    我以前用between也遇到过这个问题。
      

  12.   

    1 你用了varchar 
    2 就算用datetiem 2007-10-11 转换成日期 就是2007-10-11 00:00:00 你需要把 23:59:59加上日期范围放入 前闭后开区间 比较容易理解所以 容易理解的写法就是 字段 < '2007-10-12' 即小于结束日期加一天