查询表中时间在比如"09:28"到"20:13"这段时间的记录。就这么简单,怎么都找不到。请您解答一下,谢谢

解决方案 »

  1.   

    10分也不放过.
    DECLARE @t TABLE (d DATETIME)
    INSERT @t SELECT getdate()
    UNION ALL SELECT dateadd(hh,-9,getdate())
    UNION ALL SELECT dateadd(dd,-9,getdate())

    --如果只是针对某一天,比如2006-7-19
    DECLARE @d DATETIME
    SET @d='2006-7-19'SELECT ' ' + CONVERT(VARCHAR(8),GETDATE(),114)
    SELECT * FROM @t WHERE d Between @d + ' 09:28:00' AND @d + ' 20:13:00'--如果针对所有记录的这个小时段
    SELECT * FROM @t WHERE '2000-1-1' + ' ' + CONVERT(VARCHAR(8),d,114) Between '2000-1-1 09:28:00' AND '2000-1-1 20:13:00'
      

  2.   

    :)这台机器上没有SQL,只能给提示,语句怕写出问题
      

  3.   

    select * from T
    where convert(varchar(05),getdate(),108) between '09:28' and '20:13'
      

  4.   

    嗯.我上面的针对所有日期的写的有点累赘.--如果针对所有记录的这个小时段
    SELECT * FROM @t WHERE CONVERT(VARCHAR(8),d,114) Between '09:28:00' AND '20:13:00'