查询一个日期字段,里面存储格式如下:
2008-06-13 08:39:40.700
2008-05-05 13:43:24.733
2008-05-05 13:44:11.920
2008-06-02 11:47:39.717
2008-06-24 16:41:41.607
2008-05-21 08:48:32.077
2008-05-21 08:49:34.403怎么查出 5月15-5月29号间数据

解决方案 »

  1.   

    select *
    from ta
    where datecol between '2008-05-15 00:00:00' and '2008-05-29 23:59:59' 
      

  2.   

    where datediff(d,datecol,'2008-05-15')<= 0  and datediff(d,datecol,'2008-05-29 ')>=0
      

  3.   

    select * 
    from ta 
    where datecol between '2008-05-15 00:00:00' and '2008-05-29 23:59:59' 
      

  4.   

    我意思 直接between '20080515' and '20080529'
      

  5.   

    select *
    from tb
    where datecol>= '2008-05-15' and  datecol< dateadd(dd,1,'2008-05-29')
      

  6.   

    where convert(varchar(10),字段名,120) between  '20080515' and '20080529'
      

  7.   

    WHERE CONVERT(VARCHAR,字段名,112) BETWEEN '20080515' AND '20080529' 
      

  8.   

    where dataneme(month,datetime)+'-'+datename(day,datetime) between '5-11' to  '5-29'
      

  9.   

    convert 之内的112是什么意思?不明白???????
      

  10.   

    假如时间列为 BillDate
    Select * from A
    Where 
    Convert(nvarchar(10),BillDate,120) >= '2008-05-15'
    AND Convert(nvarchar(10),BillDate,120) <= '2008-05-29'
      

  11.   

    select * from b where datepart(mm,[datetime])=5 and datepart(dd,[datetime]) between 15 and 29 
      

  12.   

    /*
    TEST DATA:
    2008-05-05 13:43:24.733 
    2008-05-05 13:44:11.920 
    2008-06-02 11:47:39.717 
    2008-06-24 16:41:41.607 
    2008-05-21 08:48:32.077 
    2008-05-21 08:49:34.403 
    */
    CREATE TABLE #T
    (
    ID INT IDENTITY(1,1) PRIMARY KEY,
    DT DATETIME
    )
    INSERT #T 
    SELECT '2008-06-13 08:39:40.700' UNION ALL
    SELECT '2008-05-05 13:44:11.920' UNION ALL
    SELECT '2008-06-02 11:47:39.717' UNION ALL
    SELECT '2008-06-24 16:41:41.607' UNION ALL
    SELECT '2008-05-05 13:43:24.733' UNION ALL
    SELECT '2008-05-21 08:48:32.077' UNION ALL
    SELECT '2008-05-29 08:49:34.403'
    SELECT * FROM #T WHERE DT BETWEEN '2008-05-15 00:00:00' AND '2008-05-29 23:59:59' 
    DROP TABLE #T
      

  13.   

    where cast(cast(字段名 as varchar(10)) as datetime) between  '2008-05-15' and '2008-05-29'