在 MySQL 中通过提取月份和年份将 VARCHAR 转换为日期
将表示日期的 VARCHAR 值转换为仅日期值MySQL,您可以使用 STR_TO_DATE 和 DATE_FORMAT 函数。但是,如果您特别要求仅采用 YYMM 格式的月份和年份,则需要修改您的方法。
更正 STR_TO_DATE 转换中的错误
您对 STR_TO_DATE 的使用尝试转换格式为“mm/dd/yyyy”的值。但是,您的示例输入值(“1/9/2011”)与此格式不匹配。因此,您会获得意外的输出,例如“2009-01-00”。
解决方案:使用 DATE_FORMAT 和 STR_TO_DATE
以 YYMM 格式获取月份和年份,您可以将 DATE_FORMAT 和 STR_TO_DATE 函数组合为如下:
SELECT DATE_FORMAT(str_to_date('1/9/2011', '%d/%m/%Y'), '%Y%m');
此表达式会将输入的 VARCHAR 值转换为日期,然后将其格式化为 'yyyymm'。最终结果将是“201101”,如您所愿。
附加说明:
日 (dd)、月 (mm) 和年 (mm) 的顺序 ( STR_TO_DATE 函数中的 yyyy) 应与输入 VARCHAR 值的格式匹配。如果顺序与您的情况不同,请相应地调整格式字符串。
以上是如何从 MySQL 中的 VARCHAR 日期提取 YYMM 格式的月份和年份?的详细内容。更多信息请关注PHP中文网其他相关文章!