Я бы рекомендовал использовать один из обычных типов данных MySQL вместо редко используемых YEAR
типов данных : DATE
, DATETIME
и TIMESTAMP
.
Если вы хотите превратить вашу строку в тип данных date
, тогда:
STR_TO_DATE(my_column, '%Y/%m')
Вы можете использовать функцию YEAR()
в эту дату, и она вернет integer
значение:
YEAR(STR_TO_DATE(my_column, '%Y/%m'))
Наконец: если все, что вам нужно, это получить год из даты, сохраненной в виде строки, то вы можете напрямую извлечь эту строку, используя SUBSTR
:
SUBSTR(my_column, 1, 4)
Возвращает строку (не целое число), которую MySQL будет неявно преобразовывать в число при использовании в числовом контексте.