我想查一段时间的数据,例如 2007-04-27 00:00:00 到 2007-04-27 23:59:59 我的数据库中的时间是“yyyy-mm-dd hh:mm:ss”的格式,我查询时设置的是varchart类型,控制面版里时间的类别设成 HH:mm:ss ,可总是查询不出来,提示“00”附近有错,请帮忙解决,谢谢! sqry=.......字段名>#" & .starttime & "#) and 字段名<#" & .endtime & "#)     .startime 和.endtime 都是字符型,格式为 yyy-mm-dd hh:mm:ss

解决方案 »

  1.   

    SQL中的时间查询语句是用“'”的sqry=.......字段名>'" & .starttime & "') and 字段名<'" & .endtime & "')
      

  2.   

    select * from 监控温度表,房间信息表 where 监控温度表.时间 >{ts '" & StartTime & "'} AND 监控温度表.时间<{ts '" & EndTime & "'} and 监控温度表.id = 房间信息表.id order by 监控温度表.时间"Private Sub dtStart_Change()
    Dt = dtStart
    Dt = format(Dt, "yyyy-mm-dd")
    Tt = DTPicker1.Hour & ":" & DTPicker1.Minute & ":" & DTPicker1.Second
    Tt = format(Tt, "hh:mm:ss")
    StartTime = Dt & " " & Tt
    End Sub
    Private Sub DTPicker1_Change()
    Dt = dtStart
    Dt = format(Dt, "yyyy-mm-dd")
    Tt = DTPicker1.Hour & ":" & DTPicker1.Minute & ":" & DTPicker1.Second
    Tt = format(Tt, "hh:mm:ss")
    StartTime = Dt & " " & Tt
    End Sub
    Private Sub DTPicker2_Change()
    Dt = DTPicker2
    Dt = format(Dt, "yyyy-mm-dd")
    Tt = DTPicker3.Hour & ":" & DTPicker3.Minute & ":" & DTPicker3.Second
    Tt = format(Tt, "hh:mm:ss")
    EndTime = Dt & " " & Tt
    End Sub
    Private Sub DTPicker3_Change()
    Dt = DTPicker2
    Dt = format(Dt, "yyyy-mm-dd")
    Tt = DTPicker3.Hour & ":" & DTPicker3.Minute & ":" & DTPicker3.Second
    Tt = format(Tt, "hh:mm:ss")
    EndTime = Dt & " " & Tt
    End Sub
    这个是我程序中的代码
    希望对你有作用
    我的是可以 查询的
      

  3.   

    1.varchar类型对时间段的查询支持比较差,如果可以的话,改动字段类型吧.
    方法2.sql语句做强制类型转换convert(datetime,字段名,101)具体使用请参看msdn.   select * from ... 
       where convert(datetime,字段,101) between starttime and endtimeps:101表示使用美国标准时间格式