代码之家  ›  专栏  ›  技术社区  ›  James Steele

午夜前后的SQL Server计数-24小时

  •  0
  • James Steele  · 技术社区  · 8 年前

    我需要使用一个使用24小时日期时间的字段来计算午夜之前和午夜之后的记录。以下声明对于同一天的时间(如上午10:30至下午4:29)非常有效:

    WHERE CAST (theader_tdatetime AS time) BETWEEN '10:30' and '16:29' 
    

    但是,我还需要选择从下午7:31到凌晨2:00的记录,我的声明不再有效:

    WHERE CAST (theader_tdatetime AS time) BETWEEN '19:31' and '02:00' 
    

    如何在此时间范围内选择记录?

    编辑:一些弥合午夜差距的示例记录

    2015-11-20 23:48:52.000  
    2015-11-20 23:49:58.000  
    2015-11-20 23:51:35.000  
    2015-11-20 23:58:51.000  
    2015-11-20 23:59:26.000  
    2015-11-21 00:04:03.000  
    2015-11-21 00:04:36.000  
    2015-11-21 00:05:11.000  
    
    2 回复  |  直到 8 年前
        1
  •  2
  •   TheGameiswar    8 年前
    WHERE CAST (transaction_date AS time)
    BETWEEN '15:30 PM' and '23:59 PM' 
    or CAST (transaction_date AS time) BETWEEN '0:00 AM' and '02:00 AM'
    
        2
  •  0
  •   Cato    8 年前