一個T表有一個時間字段TTime
現要查出眾某天@Bdate到某天@Edate,並且從某點@Bhour到@Ehour某點的所有數據。這樣的SQL語句怎樣寫??

解决方案 »

  1.   

    select * from table where TTime between @Bdate + '' + @Bhour and @Edate + '' +@Ehour或者你把TTime的日期部分和时间部分提取出来,然后用两个between and来配合查询
      

  2.   

    类似这样
    access用format函数: 
    select * from T where format(TTime,'yyyymmddhh') >= '2006103013' and format(TTime,'yyyymmddhh') <= '2006103014'
    sql server用cast,或 convert:
    select * from T where convert(varchar,TTime,112)+substring(convert(varchar,TTime,108),1,2)>= '2006103013' and convert(varchar,TTime,112)+substring(convert(varchar,TTime,108),1,2) <= '2006103014'
      

  3.   

    一個T表有一個時間字段TTime
    現要查出眾某天@Bdate到某天@Edate,並且從某點@Bhour到@Ehour某點的所有數據。這樣的SQL語句怎樣寫??忘記說明一些東西了。一、@Bhour和@Ehour為int類型(分秒不用管) 二、有可能是這樣的23點到6點表示大於23點小於6。比如:1.要查出某天到某天23點到6下班的人員。2.要查出某天到某天20點到23點下班的人員等。