Страница 1 из 2

Прибавление дней к определённой дате

Добавлено: 17 авг 2017, 12:17
aik
Здравствуйте!
Помогите решить такую задачку.
Имеется 3 поля:
- поле Дата начала (тип - дата);
- поле Длительность в днях (тип - числовое поле)
- поле Дата окончания (тип - формула)
Необходимо суммировать первые два поля, чтобы в третьем поле отразилась дата увеличенная на количество дней указанных во 2-м поле. Т.к. для каждой записи количество дней разное, то использовать заранее предусмотренную возможность по-умолчанию увеличения даты не получится.

Re: Прибавление дней к определённой дате

Добавлено: 18 авг 2017, 01:44
Евгений
В поле "формула" введите вот такую запись:

Код: Выделить всё

date_format (FROM_UNIXTIME( [<ИД поля "Дата начала">] ) + interval [<ИД поля "Длительность">] day, '%d.%m.%Y')

Re: Прибавление дней к определённой дате

Добавлено: 18 авг 2017, 12:42
aik
Евгений, спасибо большое!
А подскажите пожалуйста линк на мануал, где можно изучить данные формулы?

Re: Прибавление дней к определённой дате

Добавлено: 18 авг 2017, 13:37
support
Антон, общая документация по формулам тут http://blog.rukovoditel.net/ru/kak-ispo ... i-funkcii/
А вообще в формуле можно использовать любые mysql функции, так что смотрите документацию по mysql
http://www.mysql.ru/docs/man/Date_and_t ... tions.html

Re: Прибавление дней к определённой дате

Добавлено: 02 мар 2018, 11:58
aik
Не работает формула с прибавлением дней/месяцей к дате.

date_format (FROM_UNIXTIME( [274] ) + interval [275] day, '%d.%m.%Y')

Изображение

Re: Прибавление дней к определённой дате

Добавлено: 02 мар 2018, 13:40
support
Для прибавления даты есть специальная функция https://www.w3schools.com/sql/func_mysql_date_add.asp

Re: Прибавление дней к определённой дате

Добавлено: 04 мар 2018, 01:27
aik
не работает

date_format (DATE_ADD([274], INTERVAL [275] DAY), '%d.%m.%Y')

Re: Прибавление дней к определённой дате

Добавлено: 04 мар 2018, 03:22
Евгений
Функция DATE_ADD() принимает в качестве параметра дату в формате date "ГГГГ-ММ-ДД". А вы передаёте значение поля [274], которое Руководитель хранит в формате unix_timestamp.

Вам нужно предварительно преобразовать формат, вот так:

date_format (DATE_ADD( FROM_UNIXTIME([274]), INTERVAL [275] DAY), '%d.%m.%Y')

Re: Прибавление дней к определённой дате

Добавлено: 04 мар 2018, 22:40
aik
Показывает тот же результат, что и на картинке выше при такой формуле

date_format (DATE_ADD(FROM_UNIXTIME([274]), INTERVAL [275] DAY), '%d.%m.%Y')

Re: Прибавление дней к определённой дате

Добавлено: 05 мар 2018, 00:04
Евгений
Попробуйте выполнить эту функцию прямо в консоли MySQL, подставив ваши значения. Что выдаёт, правильный результат или как у вас на картинке?

И вопрос по полю [275] - оно точно числовое, а не выпадающий список? У вас на картинке видны значения "Срочное 3", "Срочное 12". Это что?