2013-07-19 2 views
-2

Мне нужно вычислить последний четверг предыдущего месяца с текущего месяцаКак рассчитать последнюю пятницу предыдущего месяца с текущего месяца в MySQL

set @ldom = dayofweek(last_day(curdate())); 

select  
case 
    when @ldom = 7 then last_day(curdate()) - interval 1 day 
    when @ldom = 6 then last_day(curdate()) 
    when @ldom = 5 then last_day(curdate()) - interval 6 day 
    when @ldom = 4 then last_day(curdate()) - interval 5 day 
    when @ldom = 3 then last_day(curdate()) - interval 4 day 
    when @ldom = 2 then last_day(curdate()) - interval 3 day 
    else last_day(curdate()) - interval 6 day 
end as last_friday 

Это дает мне последнюю пятницу текущего месяца, но мне нужно вычислить в последнюю пятницу этого месяца

+4

Так это четверг или пятница? –

+1

Извините, но ваш вопрос в замешательстве. Наверху вы написали, что вам нужно попасть в прошлый четверг. Внизу вы хотите получить последнюю пятницу прошлого месяца. Пожалуйста, измените свой вопрос. –

+0

Какая база данных вы используете. – cjava

ответ

1

Если вы хотите получить последний четверг, попробуйте это. http://sqlfiddle.com/#!2/d41d8/16634

SELECT case weekday(last_day(curdate()-interval 1 month)) 
when 6 then date_sub(last_day(curdate()-interval 1 month),interval 3 day) 
when 5 then date_sub(last_day(curdate()-interval 1 month),interval 2 day) 
when 4 then date_sub(last_day(curdate()-interval 1 month),interval 1 day) 
when 3 then date_sub(last_day(curdate()-interval 1 month),interval 0 day) 
when 2 then date_sub(last_day(curdate()-interval 1 month),interval 4 day) 
when 1 then date_sub(last_day(curdate()-interval 1 month),interval 5 day) 
when 0 then date_sub(last_day(curdate()-interval 1 month),interval 6 day) end day 
+0

СПАСИБО ОТПРАВИТЬ МЕНЯ ОТВЕТЬТЕ, НО СРОЧНО Я ИМЕЮ ОДНОЙ ПРОБЛЕМЕ, Я ИМЕЕТ ОДИН ТАБЛИЦ, КОТОРАЯ СОДЕРЖИТ ИДЕНТИФИКАТОР, ЦЕНУ И ДАТА. Я НУЖДАЮТ РАСЧЕТ ЦЕНЫ ПОСЛЕДНИХ ДНЕЙ ПЕРИОДНОГО МЕСЯЦА .. ЕСЛИ В ПОСЛЕДНЮЮ ЧЕТВЕРГ НЕТ ВХОДА ИДЕТ, ТО, ЧТО ЭТО ДОЛЖНО НАЙДИТЕ СЛЕДУЮЩУЮ ДАТА ... – suraj

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