SELECT * FROM 表  WHERE (date  BETWEEN  '20071001'  AND '20071031 23:59:59') 

解决方案 »

  1.   

    CREATE TABLE abc
    (id int,date1 datetime)
     insert into abc
    select 1,'2007-10-02 12:00' union all
    select 1,'2007-10-31 12:00'SELECT       * FROM       abc       WHERE       (date1       BETWEEN       '20071001   '       AND       '20071031   ') 请看看
      

  2.   


    SELECT  * FROM  表  WHERE convert(varchar(10),date,112) BETWEEN '20071001' AND  '20071031'
      

  3.   

    应该不会呀,看以下示例。
    DECLARE @t  TABLE (id INT IDENTITY(1,1),date0 VARCHAR(20))
    INSERT INTO @t 
    SELECT '20071001' UNION ALL 
    SELECT '20071002' UNION ALL 
    SELECT '20071101' UNION ALL
    SELECT '20071031'SELECT * FROM @t WHERE date0 BETWEEN '20071001' AND '20071031' 
    --结果
    id          date0
    ----------- --------------------
    1           20071001
    2           20071002
    4           20071031(3 行受影响)
      

  4.   


    CREATE   TABLE  #
    (id   int,date1   datetime) 
      insert   into   #
    select   1, '2007-10-02   12:00 '   union   all 
    select   1, '2007-10-31   12:00 '   
      SELECT  * FROM  #  WHERE convert(varchar(10),date1,112) BETWEEN '20071001' AND  '20071031'id          date1                                                  
    ----------- ------------------------------------------------------ 
    1           2007-10-02 12:00:00.000
    1           2007-10-31 12:00:00.000(所影响的行数为 2 行)
      

  5.   

    用convert 转化为同一类型就可以了