Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Requête de plage de temps spécifique dans SQL Server

Je suppose que vous voulez que ces trois éléments fassent partie des critères de sélection. Vous aurez besoin de quelques déclarations dans votre où, mais elles seront similaires au lien contenu dans votre question.

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

J'espère que cela vous aidera.