sql >> Databasteknik >  >> RDS >> Mysql

Få söndagsdatum mellan två datum och sista dagen från en månad mysql

Eftersom du nu nämnde att du inte har någon tabell för datumen, kan du närma dig det så här om du inte vill lägga till en generisk kalendertabell i din databas.

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

Du kan omvandla detta till en procedur om du vill.

Skulle fortfarande vara trevligt om du HAR ett kalenderbord; som Tim har föreslagit.



  1. Stänga databasanslutning I Laravel 5.1

  2. Fyller Many2many-fältet (odoo 8)

  3. Tips för att lagra dina TimescaleDB-säkerhetskopier i molnet

  4. MySQL:sammansatt index fulltext+btree?