Mysql
 sql >> Database >  >> RDS >> Mysql

Ottieni la data della domenica tra due date e l'ultimo giorno da un mese mysql

Dato che ora hai detto che non hai una tabella per le date, potresti avvicinarti in questo modo se non vuoi aggiungere una tabella calendario generica sul tuo database.

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

Puoi trasformarla in una procedura, se lo desideri.

Sarebbe comunque bello se HAI una tabella del calendario; come ha suggerito Tim.