Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL: прибывать 14 месяцев и от результата взять первое число / 5 сообщений из 5, страница 1 из 1
05.04.2016, 17:24
    #39208631
MySQL: прибывать 14 месяцев и от результата взять первое число
Дано:
таблица MyTab, есть поле типа DATE
Таблица NewTab, с таким-же полем, которое надо заполнить ПЛЮС 14 месяце, взять первое число (если кому интересно - расчет остановки ККМ после замены ЭКЛЗ).
Например:
Дата 23.01.2016
Плюсуем 14 месяце: 23.03.2017
Берем первое число: 01.03.2017

Приплюсовать 14 месяцев - получилось: date_add(MyTab.dats,interva 14 month)
Получить первое число - не вышло :-(

Второй подход:
Получил год: YEAR(MyTab.dats) (2016)
Плюс 1 (2017)
Получим месяц: MONTH(MyTab.dats) (01)
Плюс 2 (3)
Опять не выходит получить первое число
В чем-то от микрософта использовал функцию DateSerial(ГОД, МЕСЯЦ,1)
Какую функцию использовать в MySQL?
...
Рейтинг: 0 / 0
05.04.2016, 17:36
    #39208641
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: прибывать 14 месяцев и от результата взять первое число
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
mysql> SET @date = '2016-01-23';
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT @date + INTERVAL 14 MONTH - INTERVAL (DAY(@date) - 1) DAY AS newdate;
+------------+
| newdate    |
+------------+
| 2017-03-01 |
+------------+
1 row in set (0.00 sec)
...
Рейтинг: 0 / 0
05.04.2016, 17:39
    #39208644
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: прибывать 14 месяцев и от результата взять первое число
Алексей Стрекалов,

Код: sql
1.
2.
3.
4.
5.
6.
7.
MariaDB [(none)]> SELECT DATE_FORMAT(DATE_ADD(STR_TO_DATE('23.01.2016', '%d.%m.%Y'), INTERVAL 14 MONTH), '01.%m.%Y');
+---------------------------------------------------------------------------------------------+
| DATE_FORMAT(DATE_ADD(STR_TO_DATE('23.01.2016', '%d.%m.%Y'), INTERVAL 14 MONTH), '01.%m.%Y') |
+---------------------------------------------------------------------------------------------+
| 01.03.2017                                                                                  |
+---------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
...
Рейтинг: 0 / 0
05.04.2016, 17:59
    #39208667
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL: прибывать 14 месяцев и от результата взять первое число
Поправка - сначала надо вычитать:
Код: sql
1.
SELECT @date - INTERVAL (DAY(@date) - 1) DAY + INTERVAL 14 MONTH
...
Рейтинг: 0 / 0
06.04.2016, 07:50
    #39208912
MySQL: прибывать 14 месяцев и от результата взять первое число
Akina,
Биг сенькс - сработало.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL: прибывать 14 месяцев и от результата взять первое число / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]