数据库中有datetime类型的字段,显示形式为:1900-01-01 20:30:10,现在要以时(vHour)和分(vMinu)而忽略秒为条件来查询,请问该怎么做?

解决方案 »

  1.   

    --按小时
    SELECT DATEPART ( Hour,'1900-01-01 20:30:10')
    --按分钟
    SELECT DATEPART ( MINUTE,'1900-01-01 20:30:10')
      

  2.   

    --试试
    declare @d datetime,@begin_time datetime,@end_time datetime
    select @d = '20070101 09:42:11',@begin_time = '20060606 08:14:10'
          ,@end_time = '20080202 10:10:01'select convert(varchar(5),@d,108)
    where convert(varchar(5),@d,108) 
          between convert(varchar(5),@begin_time,108) 
                and convert(varchar(5),@end_time,108)/*
    ----- 
    09:42(所影响的行数为 1 行)
    */
      

  3.   

    返回代表指定日期的指定日期部分的整数
    DATEPART ( datepart , date ) 
    比如:
    SELECT DATEPART(Hour, GETDATE()) AS 'Hour Number'  --取得小时值
    SELECT DATEPART(minute, GETDATE()) AS 'minute Number'  --取得分钟值
      

  4.   

    数据库中有datetime类型的字段,显示形式为:1900-01-01 20:30:10,现在要以时(vHour)和分(vMinu)而忽略秒为条件来查询,请问该怎么做?select * from tb where substring(convert(varchar(19),时间字段,120),12,5) = '小时:分钟'select * from tb where substring(convert(varchar(19),时间字段,120),12,5) = '10:00'
      

  5.   

    select * from table where DATEPART(hh,'1900-01-01 20:30:10') = 20 and DATEPART ( mi,'1900-01-01 20:30:10') = 30
      

  6.   

    返回代表指定日期的指定日期部分的整数
    DATEPART ( datepart , date ) 
    select * from table_name where DATEPART(hh,'1900-01-01 20:30:10') = 20 and DATEPART ( mi,'1900-01-01 20:30:10') = 30具体时间可以是字段,分离后的日期(小时,分钟)可以是你要的参数值!