1、
SELECT person_ID, Name, RefCard_date, RefCard_time
FROM check_work_GetIcData
WHERE cast(RefCard_date as datetime) BETWEEN '"+dp_begin.text+"' AND '"+dp_end.text+"'2、
select * from check_work_GetIcData tem where refcard_time=(select top 1 refcard_time from check_work_GetIcData
where name=tem.name and refcard_date=tem.refcard_date order by abs(datediff(mi,refcard_time,'08:30:00')) )

解决方案 »

  1.   

    2SELECT top 1 person_ID, Name, RefCard_date, RefCard_time
    FROM check_work_GetIcData
    where ...
    order by abs(datediff(second,RefCard_time,'8:30:00')) desc
      

  2.   

    先谢谢pengdali(大力 V3.0),aierong(皑婀瑢-数据库XML.NET联盟会局长)两位大哥,
      

  3.   

    To:pengdali(大力 V3.0),关于问题1。
    我想从那个大集合中求出一个小集合,如某人在某一天打卡记录,如这样一条记录:20000628004 冯红霞     2002-06-16 08:15:00
    20000628004 冯红霞     2002-06-16 08:25:00
    20000628004 冯红霞     2002-06-16 08:31:00
    20000628004 冯红霞     2002-06-16 08:35:00
    20000628004 冯红霞     2002-06-16 12:28:00
    20000628004 冯红霞     2002-06-16 13:31:00
    20000628004 冯红霞     2002-06-16 17:28:00
    20000628004 冯红霞     2002-06-16 18:31:00
    20000628004 冯红霞     2002-06-16 21:30:00求得大集合:SELECT person_ID, Name, RefCard_date, RefCard_time
    FROM check_work_GetIcData
    WHERE (RefCard_date BETWEEN '" + dp_begin.text + "' AND '" + dp_end.text + "'),其中dp_begin.text = '2002-06-16',dp_end.text = '2002-06-17'
    小集合:
    SELECT person_ID, Name, RefCard_date, RefCard_time
    FROM check_work_GetIcData where refcard_date = '2002-06-16'
    如何写成一句,别外refcard_date 的值是一个变量,不知道有没有说明白.小弟愚笨,望指点.谢谢
      

  4.   

    pengdali(大力 V3.0)大哥在吗?
      

  5.   

    定义一个变量,时间类型declare @time datetime
    select @time='2002-06-16'
    SELECT person_ID, Name, RefCard_date, RefCard_time
    FROM check_work_GetIcData 
    where refcard_date = @time