3

在我的桌子上,我有一个“Datemodified”列。我将能够根据该列提取结果。我希望能够从早上 6 点到下午 6 点拉任何东西。该查询需要能够每天使用,因此我所看到的方式使用特定日期,并且我无法获得我为我的特定案例寻找的任何查询。

这是我到目前为止所做的工作,它拉动了正确的时间框架,但我需要它只在当天运行。谢谢大家!

SELECT 
  Assignment
  , Datemodified
  , General
  , IncNumber
  , NextSteps
  , PDCRStatus
  , RootCause
  , Status
  , Summary
  , Timings
  , UserID 
FROM 
  Turnover 
WHERE 
  DATEPART(HOUR, datemodified) between 06 and 18 
  --AND datemodified = GETDATE()
4

2 回答 2

1

将您的 datemodified 字段转换为没有时间的日期并对 getdate() 执行相同操作,然后您可以比较它们...

CONVERT(NVARCHAR(50),datemodified,103) = CONVERT(NVARCHAR(50),GETDATE(),103)

所以你得到:

SELECT Assignment, Datemodified, General, IncNumber, NextSteps, PDCRStatus, RootCause, Status, Summary, Timings, UserID FROM Turnover WHERE DATEPART(HOUR, datemodified) 在 06 和 18 之间并且 CONVERT(NVARCHAR(50),datemodified,103) = CONVERT( NVARCHAR(50),GETDATE(),103)

于 2012-11-05T14:36:28.923 回答
0

像这样的东西会起作用:

SELECT Assignment, Datemodified, General, IncNumber, NextSteps, PDCRStatus, RootCause, Status, Summary, Timings, UserID 
FROM Turnover 
where (Datemodified >= dateadd(hh, SELECT CAST( CONVERT( CHAR(8), GetDate(), 112) AS DATETIME),  6) and  
   (Datemodified <= dateadd(hh, SELECT CAST( CONVERT( CHAR(8), GetDate(), 112) AS DATETIME), 18) )
于 2012-11-05T14:36:18.167 回答