2013-06-18 2 views
0

У меня есть MySQL запросдобавления DATE_ADD, но сохраняющий в Мид выходных

SELECT CONCAT('document',LEFT(cases.id,26)) AS 'id', 
cases.date_modified, 
cases.date_modified, 
'67421f0a-3f44-1093-1ab6-51750b508349' AS 'assigned_user','1','1','0', 
'complete documentation in 4 Days' AS 'name', 
'Not Started', 
cases.date_modified, 
DATE_ADD(cases.date_modified,INTERVAL 4 DAY) AS 'due date','Cases',cases.id, 
'P1','Complete Operations Documentation' AS 'description' 
FROM cases 
    INNER JOIN cases_cstm 
ON (cases.id = cases_cstm.id_c) 
WHERE cases.`assigned_user_id` = '67421f0a-3f44-1093-1ab6-51750b508349' 
AND cases.`status` = 'Start Administration' 
AND `cases_cstm`.`file_location` = 'Operations' 
ORDER BY `date_modified` DESC 
LIMIT 1; 

, но проблема в том, во вторник он выйдет на субботу и среду он выйдет на воскресенье и четверг или пятницу народа есть 2 дня, чтобы работать?

как я могу проверить, что если выходные дни в срок, чтобы добавить 2 дня?

С уважением

ответ

0

Попробуйте это выражение:

(case when weekday(cases.date_modified) = 0 
     then DATE_ADD(cases.date_modified, INTERVAL 4 DAY) 
     else DATE_ADD(cases.date_modified, INTERVAL 6 DAY) 
    end) as 'due date' 

Он просто проверяет на день недели, а затем добавляет соответствующую длительность проходить в выходные дни.

0

Функция DAYOFWEEK вернет 1 на воскресенье, 2 на понедельник, 3 на вторник, ... через 7 на субботу. Вы можете использовать его в таком состоянии, как так:

DATE_ADD(cases.date_modified, 
    CASE DAYOFWEEK(cases.date_modified) 
    WHEN 3 THEN INTERVAL 6 DAY 
    WHEN 4 THEN INTERVAL 5 DAY 
    ELSE INTERVAL 4 DAY 
    END AS 'due date' 

В приведенном выше примере добавляет 6 дней для вторника (переход к следующему понедельнику), 5 дней в течение среды (переход в следующий понедельник), и 4 для Все остальные. Это отличается от того, что вы просили (где среда переходит к следующему вторникам, а не понедельнику), но это может быть более уместным. Вы можете настроить по мере необходимости.

 Смежные вопросы

  • Нет связанных вопросов^_^