Используйте два значения INT в качестве даты - PullRequest
0 голосов
/ 07 мая 2020

У меня есть база данных MariaDB / MySQL с несколькими столбцами, два из которых называются «Год» (2018, 2019, 2020 и т. Д. c.) И «Месяц» (01, 02, 03 и т. c .), но сохранить значения как INT.

Как я могу (в фразе MySQL SELECT) выбрать эти два и объединить их как значение даты (SELECT ... AS xyz), чтобы получить их как MONTH- ГОД (2019-04, 2019-05 et c.)?

Потому что мне нужно сделать ГДЕ позже, где я хочу иметь только последние двенадцать месяцев (- ИНТЕРВАЛ 12 МЕСЯЦЕВ). И когда месяц меняется (например, на июнь 2020 года), мне больше не нужен май с 2019 года и c. Вот почему мне нужно иметь их как дату (я думаю), чтобы правильно вычислить с «- ИНТЕРВАЛ [...]».

1 Ответ

0 голосов
/ 07 мая 2020

Если вы хотите последние 12 месяцев, вы можете «арифметические значения месяца» c:

where year * 12 + month >= year(curdate()) * 12 + month(curdate()) - 12

Это преобразует ваши столбцы и текущую дату в количество месяцев с момента 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...