Advertisement
Guest User

Untitled

a guest
Apr 30th, 2017
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.00 KB | None | 0 0
  1. SET @date = NOW();
  2. SET @date = '2010-02-01'; -- В таблице должно быть 4 строки
  3. SET @date = '2017-10-01'; -- В таблице должно быть 6 строк
  4. SET @firstDayNumber = (SELECT WEEKDAY(DATE_FORMAT(@date,'%Y-%m-01')));
  5. SET @daysInMonth = (SELECT DAY(LAST_DAY(@date)));
  6.  
  7. SELECT
  8. IF(id + 1 < 1 OR id + 1 > @daysInMonth, 0, id + 1) 'Пн',
  9. IF(id + 2 < 1 OR id + 2 > @daysInMonth, 0, id + 2) 'Вт',
  10. IF(id + 3 < 1 OR id + 3 > @daysInMonth, 0, id + 3) 'Ср',
  11. IF(id + 4 < 1 OR id + 4 > @daysInMonth, 0, id + 4) 'Чт',
  12. IF(id + 5 < 1 OR id + 5 > @daysInMonth, 0, id + 5) 'Пт',
  13. IF(id + 6 < 1 OR id + 6 > @daysInMonth, 0, id + 6) 'Сб',
  14. IF(id + 7 < 1 OR id + 7 > @daysInMonth, 0, id + 7) 'Вск'
  15. FROM (
  16.     SELECT 0 - @firstDayNumber id UNION
  17.     SELECT 7 - @firstDayNumber UNION
  18.     SELECT 14 - @firstDayNumber UNION
  19.     SELECT 21 - @firstDayNumber UNION
  20.     SELECT 28 - @firstDayNumber UNION
  21.     SELECT 35 - @firstDayNumber
  22. ) AS t
  23. HAVING NOT (Пн = 0 AND Вск = 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement