Как добраться на следующей неделе с понедельника по воскресенье в моем sql

0

Я использую ниже код для получения в следующий понедельник, но я не могу получить следующий воскресенья на той же неделе. как сегодня в пятницу, и если я буду искать на следующей неделе, тогда мне нужно поехать на следующую неделю понедельника в воскресенье.

SELECT now() + INTERVAL 7 - weekday(now()) DAY 

Это выше дает мне следующий понедельник.

Мне нужно добавить еще 7 дней и получить дату воскресенья в том же формате.

2018-07-30 14:45:43 Понедельник

2018-08-05 14:45:43 Воскресенье

  • 0
    "добавь еще 7 дней и получи воскресенье" Если ты будешь в понедельник и добавляешь 7 дней, ты снова будешь в понедельник ...
Теги:
date
joomla

4 ответа

1
Лучший ответ

Добавьте 6 дней, чтобы получить воскресенье в понедельник. Добавьте 13 дней, чтобы добавить второе воскресенье после понедельника:

SELECT (now() + INTERVAL 7 - weekday(now()) DAY) + INTERVAL 6 DAY;
4

Функция strtotime() отлично подходит для неопределенных относительных запросов, таких как:

$monday = date('Y-m-d', strtotime('next monday'));
$sunday = date('Y-m-d', strtotime('next monday + 6 days'));

Урожайность:

2018-07-30
2018-08-05
  • 0
    Да, но это PHP, а не SQL.
  • 0
    Вопрос помечен PHP, а OP не запрашивал решения, специфичного для SQL.
1

Если я правильно понимаю, вы получили "2018-07-30 14:45:43" и должны получить воскресенье. Воскресенье - через шесть дней после понедельника, поэтому просто добавьте 6-7 и получите 13.

SELECT now() + INTERVAL 13 - weekday(now()) DAY

0

Как насчет

select monday, monday + interval 6 day as sunday from
(select now() + INTERVAL 7 - weekday(now()) DAY as monday) s1

Ещё вопросы

Сообщество Overcoder
Наверх
Меню