Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SET @date = NOW();
- -- SET @date = '2009-12-01'; -- Для тестов других годов и месяцев
- SET @firstDayNumber = (SELECT WEEKDAY(DATE_FORMAT(@date,'%Y-%m-01')));
- SET @daysInMonth = (SELECT DAY(LAST_DAY(@date)));
- SET @dayNum = 0; SET @cellNum = 0;
- SELECT Пн, Вт, Ср, Чт, Пт, Сб, Вск FROM (
- SELECT
- @cellNum := @cellNum + 1 c0,
- IF (@dayNum >= @daysInMonth OR @cellNum <= @firstdayNumber, 0, @dayNum := @dayNum+1) 'Пн',
- @cellNum := @cellNum + 1 c1,
- IF (@dayNum >= @daysInMonth OR @cellNum <= @firstdayNumber, 0, @dayNum := @dayNum+1) 'Вт',
- @cellNum := @cellNum + 1 c2,
- IF (@dayNum >= @daysInMonth OR @cellNum <= @firstdayNumber, 0, @dayNum := @dayNum+1) 'Ср',
- @cellNum := @cellNum + 1 c3,
- IF (@dayNum >= @daysInMonth OR @cellNum <= @firstdayNumber, 0, @dayNum := @dayNum+1) 'Чт',
- @cellNum := @cellNum + 1 c4,
- IF (@dayNum >= @daysInMonth OR @cellNum <= @firstdayNumber, 0, @dayNum := @dayNum+1) 'Пт',
- @cellNum := @cellNum + 1 c5,
- IF (@dayNum >= @daysInMonth OR @cellNum <= @firstdayNumber, 0, @dayNum := @dayNum+1) 'Сб',
- @cellNum := @cellNum + 1 c6,
- IF (@dayNum >= @daysInMonth OR @cellNum <= @firstdayNumber, 0, @dayNum := @dayNum+1) 'Вск',
- id FROM (
- SELECT 1 id UNION
- SELECT 2 UNION
- SELECT 3 UNION
- SELECT 4 UNION
- SELECT 5 UNION
- SELECT 6 UNION
- SELECT 7
- ) rows_
- ) table_
- WHERE NOT (Пн = 0 AND Вск = 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement