在SQL中选择一个时间戳范围

时间:2018-03-31 06:02:35

标签: sql mysqli

请在这里帮助我。

SELECT TOP 200 [TimeStamp]        
      ,[Id]
      ,[Serial]
      ,[Server]
      ,[Message]
      ,[Station]
      ,ISNULL([P1],'Active Directory') as 'Category'
      ,ISNULL([P2],'Item Bold') as 'ItemName'    
  FROM [data].[dbo].[Message]    
  WHERE TimeStamp >= '2017-11-13' AND TimeStamp <= '2017-12-30'  
  ORDER BY TimeStamp Desc 

我正在尝试获取特定范围内的数据&#34; TimeStamp&#34;我有一个UI,用户可以选择两个时间戳来选择范围(参见代码)。但我的问题是,对于特定的TimeStamp,有很多相同的数据。例如&#34; 2017-12-30&#34;有5个条目,但它们在&#34;类别&#34;方面的数据不同。

现在我的问题是,我怎么知道用户真正从&#34; TimeStamp&#34;虽然他们有相同的项目。

1 个答案:

答案 0 :(得分:0)

提取日期或日期时间表达式expr的日期部分。

使用DATE(expr)

SELECT TOP 200 [TimeStamp]        
      ,[Id]
      ,[Serial]
      ,[Server]
      ,[Message]
      ,[Station]
      ,ISNULL([P1],'Active Directory') as 'Category'
      ,ISNULL([P2],'Item Bold') as 'ItemName'    
  FROM [data].[dbo].[Message]    
  WHERE DATE(TimeStamp) >= '2017-11-13' AND DATE(TimeStamp) <= '2017-12-30'  
  ORDER BY TimeStamp Desc