Я пытаюсь сравнить год, хранящийся как CHAR(4), с годом, хранящимся как DATETIME, но каждый раз, когда я пытаюсь преобразовать год CHAR в дату, я всегда получаю NULL, когда я ожидаю год в формате «ГГГГ». Я прочитал форматирование для использования str_to_date, но я не уверен, почему оно всегда получается нулевым (может быть, я что-то неправильно понял). Должна ли строка/формат в функции str_to_date быть полной датой, а не просто форматом года?
SELECT id, STR_TO_DATE(year, '%Y') AS Year
FROM elite_years
LIMIT 100;
Большинство, если не все данные в таблице Elite_years представляют собой год из четырех символов (например, «2008»). Я также не могу изменить типы данных в таблице. Я использую набор данных Yelp для справки.
Я проверил этот пост, но из того, что я мог видеть, я следую правильному форматированию, основанному на документы.
%Y
- person Jerry   schedule 04.04.2018