While-Schleife mit if-Anweisung in MySQL

Bin ich immer ein syntax-Fehler mit dieser durch die Letzte while-Schleife. Ich habe versucht, schalten Sie herum, aber Sie finden nicht die Frage hier - ist es rein, die MySQL unterstützt keine if-Anweisungen in while-Schleifen?

DELIMITER //
CREATE PROCEDURE bLAHbLAHbLAH(p_fromdate datetime, p_todate datetime)
BEGIN

Declare startday datetime;
declare numberofdays int;
declare Counter int;

Set startday = p_fromdate;
Set numberofdays = (select datediff("2012-05-01","2012-11-01"));
Set Counter = 0;

WHILE startday<p_todate DO
    if (select date_format(startday, '%W')) in ('Monday','Tuesday','Wednesday','Thursday','Friday') THEN
        SET Counter = Counter+1;
        SET startday = date_add(startday, INTERVAL 1 DAY);
    else
        SET startday = date_add(startday, INTERVAL 1 DAY);
END WHILE;

select Counter; 

END//

DELIMITER ;
  • Ob Sie es glauben oder nicht, es Tat. Entschuldigung
InformationsquelleAutor user1818768 | 2012-11-12
Schreibe einen Kommentar