我正在尝试将存储为 CHAR(4) 的年份与存储为 DATETIME 的年份进行比较,但是每次我尝试将 CHAR 年份转换为日期时,当我期望年份格式为“YYYY”时,我总是得到 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 数据集仅供参考。