Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Spezifische Zeitbereichsabfrage in SQL Server

Ich gehe davon aus, dass Sie alle drei als Teil der Auswahlkriterien haben möchten. Sie benötigen ein paar Aussagen in Ihrem Wo, aber sie ähneln dem Link, den Ihre Frage enthielt.

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

Hoffe das hilft.