Я новичок в процедурном программировании и mysql, но предположим, что у меня есть функция PrevMonth(in_date date, in_mn_count int)
Первая - это дата, а вторая - целое число, которое, как ожидается, будет числом месяцев. Функция возвращает строку с форматом 'YYYY-MM'
, который является годом и месяцем, где год в первом параметре - в предыдущем году, а in_mn_count добавлен к in_date.Как вычесть из предыдущего года, но добавить месяцы в MySQL?
Например, a_testbed.PrevMonth('2012-05-19', 6)
возвращает '2011-11'
Это то, что у меня есть:
set return_date := Date_format(DATE_ADD(in_date, INTERVAL -1 YEAR),
DATE_ADD(in_date, INTERVAL in_mn_count MONTH),'%Y %M');
Мне нужно перейти в предыдущий год и добавить месяцы в in_date. Где год вычитается в DATE_ADD, чтобы попасть в предыдущий год? – user2966637
Как это отличается от вычитания 12 месяцев? Вы нашли случай, когда вычитание 12 месяцев и вычитание 1 года дают разные результаты? – v010dya
Значит, -12 представляет год вычитается? Это то, что кажется. – user2966637