Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Uzyskaj niedzielną datę między dwiema datami a ostatnim dniem z jednego miesiąca mysql

Ponieważ wspomniałeś już, że nie masz tabeli z datami, możesz podejść do tego w ten sposób, jeśli nie chcesz dodawać ogólnej tabeli kalendarza do swojej bazy danych.

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

Możesz zmienić to w procedurę, jeśli chcesz.

Nadal byłoby miło, gdybyś MASZ stół z kalendarzem; jak zasugerował Tim.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. W jakiej kolejności są przetwarzane ograniczenia ON DELETE CASCADE?

  2. ciąg wybranych wartości oddzielony przecinkami w mysql

  3. SELECT COUNT(*) AS count - Jak korzystać z tej liczby

  4. Co oznacza pooling=false w ciągu połączenia MySQL?

  5. Maksymalna liczba jednoczesnych połączeń z MySQL