数据库中表userInfo
字段:uId,unamg,utime.
数据:1,李四,2009-11-06 14:24:35
      2,张三,2009-11-06 15:58:35
      3,李四,2009-11-07 09:54:35
如何查询
1.根据小时查询“李四”在“2009-11-07 09:54:35”的这条信息
2.根据具体时间包括时分秒查询“李四”在“2009-11-07 09:54:35”的这条信息

解决方案 »

  1.   


    select * from table where unamg='李四' and datepart(hh,utime)=14
    第二个如果是对比完整的时间,可以直接比较,如果需要分别批配,可以参考第一句,或者是datediff函数.
      

  2.   

    1.根据小时查询“李四”在“2009-11-07 09:54:35”的这条信息 SELECT * FROM USERINFO WHERE DATEPART(HH,UTIME)=92.根据具体时间包括时分秒查询“李四”在“2009-11-07 09:54:35”的这条信息SELECT * FROM USERINFO WHERE UTIME='2009-11-07 09:54:35'是这意思么?
      

  3.   

    --1查询时间最近的并且在09小时的
    select * from userInfo t where not exists
    (select 1 from userInfo where t.unamg=unamg and t.utime>utime)
    and convert(varchar(13),utime,120)='2009-11-07 09'
    --2,
    select * from userInfo where unamg='李四'  and utime='2009-11-07 09:54:35'
      

  4.   

    select * from table where unamg='李四' and datepart(HH,utime)=14
      

  5.   

    SELECT * FROM USERINFO WHERE DATEPART(HH,UTIME)=9
    SELECT * FROM USERINFO WHERE UTIME='2009-11-07 09:54:35'