MySQL 如何在MySQL查询中将日期格式从YYYYMMDD转换为YY-MM-DD?
在MySQL查询中,有时候需要将日期格式从YYYYMMDD转换为YY-MM-DD,方便阅读和使用。本文将介绍三种方法来实现。
阅读更多:MySQL 教程
方法一:使用DATE_FORMAT函数
MySQL的DATE_FORMAT函数可以将日期格式化为任何你想要的字符串格式。例如,以下语句将将日期从YYYYMMDD格式化为YY-MM-DD格式:
SELECT DATE_FORMAT('20211201', '%y-%m-%d');
输出结果为:21-12-01。
%y表示年份的最后两位,%m表示月份,%d表示日。你可以根据自己的需要修改格式。
在查询语句中,你可以将字段名替换为需要转换的日期,例如:
SELECT DATE_FORMAT(date_field, '%y-%m-%d') AS formatted_date FROM table_name;
方法二:使用LEFT和RIGHT函数
另一种方法是使用LEFT和RIGHT函数。LEFT函数返回字符串左边的指定数量的字符,RIGHT函数返回字符串右边的指定数量的字符。以下语句将将日期从YYYYMMDD转换为YY-MM-DD:
SELECT CONCAT(LEFT('20211201',2), '-', SUBSTR('20211201',3,2), '-', RIGHT('20211201',2));
输出结果为:21-12-01。
在查询语句中,你可以将字段名替换为需要转换的日期,例如:
SELECT CONCAT(LEFT(date_field,2), '-', SUBSTR(date_field,3,2), '-', RIGHT(date_field,2)) AS formatted_date FROM table_name;
方法三:使用STR_TO_DATE函数
MySQL的STR_TO_DATE函数可以将字符串型日期转换成日期型数据。以下语句将将日期从YYYYMMDD转换为YY-MM-DD:
SELECT DATE_FORMAT(STR_TO_DATE('20211201', '%Y%m%d'), '%y-%m-%d');
输出结果为:21-12-01。
%Y表示年份的四位数,%m表示月份,%d表示日。你可以根据自己的需要修改格式。
在查询语句中,你可以将字段名替换为需要转换的日期,例如:
SELECT DATE_FORMAT(STR_TO_DATE(date_field, '%Y%m%d'), '%y-%m-%d') AS formatted_date FROM table_name;
结论
以上三种方法,都可以将日期格式从YYYYMMDD转换成YY-MM-DD。不同的方法适用于不同的查询场景,你可以根据自己的需要进行选择使用。