Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Query per intervalli di tempo specifici in SQL Server

Presumo che tu voglia tutti e tre quelli come parte dei criteri di selezione. Avrai bisogno di alcune affermazioni nel tuo dove, ma saranno simili al link contenuto nella tua domanda.

SELECT *
  FROM MyTable
  WHERE [dateColumn] > '3/1/2009' AND [dateColumn] <= DATEADD(day,1,'3/31/2009') 
        --make it inclusive for a datetime type
    AND DATEPART(hh,[dateColumn]) >= 6 AND DATEPART(hh,[dateColumn]) <= 22 
        -- gets the hour of the day from the datetime
    AND DATEPART(dw,[dateColumn]) >= 3 AND DATEPART(dw,[dateColumn]) <= 5 
        -- gets the day of the week from the datetime

Spero che questo aiuti.