Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Holen Sie sich das Sonntagsdatum zwischen zwei Datumsangaben und dem letzten Tag aus einem Monat mysql

Da Sie jetzt erwähnt haben, dass Sie keine Tabelle für die Daten haben, könnten Sie es so angehen, wenn Sie Ihrer Datenbank keine generische Kalendertabelle hinzufügen möchten.

declare @startdate datetime 
declare @enddate datetime
DECLARE @startdateLoop datetime

select @startdate = CAST(start as DATE), @enddate = CAST(end_date as DATE) from #t
set @startdateLoop = @startdate
CREATE TABLE #tempCal
  (dates datetime)

  WHILE @startdateLoop != @enddate 
  BEGIN
  INSERT INTO #tempCal
  SELECT @startdateLoop

  SET @startdateLoop = DATEADD(dd, 1, @startdateLoop)
  END

  SELECT * FROM #tempCal
  WHERE dates between @startdate and @enddate and DAYOFWEEK(dates) = 1

Sie können dies in eine Prozedur umwandeln, wenn Sie möchten.

Wäre immer noch schön, wenn Sie einen Kalendertisch HABEN; wie Tim vorgeschlagen hat.