2012-06-08 2 views

ответ

1

Вы не может. Лучший способ - создать простую таблицу, заполненную всеми датами года. я сделал простую хранимую процедуру:

CREATE DEFINER = 'root_extern'@'%' PROCEDURE fill_calendar 
(
    IN start_date date, 
    IN end_date date 
) 
BEGIN 
    DECLARE crt_date DATE; 
    SET crt_date=start_date; 
    WHILE crt_date < end_date DO 
    INSERT INTO `calendar` (`date`) VALUES (crt_date); 
    SET crt_date = ADDDATE(crt_date, INTERVAL 1 DAY); 
    END WHILE; 
END| 

Ваш запрос будет выглядеть следующим образом: SELECT date FROM calendar WHERE date BETWEEN dateFrom AND dateTo

0

Используйте союз, как это:

(SELECT id, dateFrom date FROM table) UNION (SELECT id, dateTo date FROM table) 
Смежные вопросы