表名T_REP_DAY_MX
字段:
site_id  Hour_           jslljp   
00001 2006-01-01 00 1783.605
00001 2006-01-01 01 1757.9633
00001 2006-01-01 02 1754.8633
00001 2006-01-01 03 1749.7917
00001 2006-01-01 04 1750.0733
00001 2006-01-01 05 1748.6633
00001 2006-01-01 06 1748.3817
00001 2006-01-01 07 1766.6967
00001 2006-01-01 08 1784.4483
00001 2006-01-01 09 168.796
00001 2006-01-01 10 51.5083
00001 2006-01-01 11 59.9617
00001 2006-01-01 12 52.0733
00001 2006-01-01 13 54.3283
00001 2006-01-01 14 88.4217
00001 2006-01-01 15 56.1867
00001 2006-01-01 16 0
00001 2006-01-01 17 0
00001 2006-01-01 18 572.6867
00001 2006-01-01 19 1735.985
00001 2006-01-01 20 1706.6783
00001 2006-01-01 21 1700.48
00001 2006-01-01 22 1696.535
00001 2006-01-01 23 1702.4533
00001 2006-01-02 00 1708.6483
00001 2006-01-02 01 1703.8617
00001 2006-01-02 02 1722.4567
00001 2006-01-02 03 1732.0367
00001 2006-01-02 04 1733.165
00001 2006-01-02 05 1730.91
00001 2006-01-02 06 1730.63
00001 2006-01-02 07 1730.9117
00001 2006-01-02 08 1728.375
00001 2006-01-02 09 1772.3333
00001 2006-01-02 10 1717.9517
00001 2006-01-02 11 1741.3383
00001 2006-01-02 12 1744.4383
00001 2006-01-02 13 0
00001 2006-01-02 14 1753.1717
00001 2006-01-02 15 1728.095
00001 2006-01-02 16 1715.1333
00001 2006-01-02 17 1754.5817
00001 2006-01-02 18 1793.4683
00001 2006-01-02 19 1764.725
00001 2006-01-02 20 1739.9267
00001 2006-01-02 21 1695.9717
00001 2006-01-02 22 1674.8383
00001 2006-01-02 23 1684.7017
00001 2006-01-03 00 1680.1917
我这个是一天的小时数据 。我想要的是 一天的数据 还就要 距离现在时间最近的 一天数据,这个语句该怎么写   谢谢了

解决方案 »

  1.   


    select * 
    from T_REP_DAY_MX 
    where convert(char(8),Hour_,112) in
    (
    select convert(char(8),max(Hour_),112)
    from T_REP_DAY_MX
    )
      

  2.   

    SELECT *
    FROM tb
    WHERE DATEDIFF(DAY,时间列,GETDATE())=1
      

  3.   

    --??
    select * from T_REP_DAY_MX where left(Hour_,10)='2006-01-02'
      

  4.   


    select site_id,convert(varchar(10),hour_,120) as hour_,
     jslljp from t_rep_day_mx group by site_id,convert(varchar(10),hour_,120),jslljp
             where convert(varchar(10),hour_,120)='2006-01-02'
      

  5.   


    -- 查找距离今天最近的一天的所有数据. 你给的数据,应该是2006-01-03 这天的数据吧?SELECT  * FROM T_REP_DAY_MX
     WHERE  ABS(DATEDIFF(DAY,Hour_,GETDATE())) = (SELECT  MIN(ABS(DATEDIFF(DAY,Hour_,GETDATE()))) FROM T_REP_DAY_MX)
      

  6.   

    看你表内的数据,最近的一天应该是2006-01-03吧select * from T_REP_DAY_MX where substring(convert(varchar(20),Hour_,121),1,10) in (select substring(convert(varchar(20),max(Hour_),121),1,10) from T_REP_DAY_MX)