在MySQL中,我们可以使用DATE_FORMAT函数将日期类型转换为字符串类型。
SELECT DATE_FORMAT('2021-10-31', '%Y-%m-%d');-- 输出结果为 '2021-10-31'
其中,第一个参数是需要转换的日期,第二个参数是格式化字符串。
下面是一些常用的格式化字符串:
%Y:四位数字的年份%m:两位数字的月份(带前导零)%d:两位数字的日(带前导零)%H:24小时制的小时(带前导零)%i:两位数字的分钟(带前导零)%S:两位数字的秒(带前导零)%W:星期几的名称%T:时间的完整表示,类似于 '14:28:56'
例如,我们可以将日期转换为形如 '2021年10月31日 星期日' 的字符串:
SELECT DATE_FORMAT('2021-10-31', '%Y年%m月%d日 %W');-- 输出结果为 '2021年10月31日 星期日'
需要注意的是,如果使用双引号包含格式化字符串,需要在其中的百分号前加上转义符号:
SELECT DATE_FORMAT('2021-10-31', "%Y年%m月%d日 \%\W");-- 输出结果为 '2021年10月31日 星期日'
在实际应用中,我们可能需要对表中的日期类型进行转换,也可以使用DATE_FORMAT函数进行处理:
SELECT id, name, DATE_FORMAT(birthday, '%Y-%m-%d') AS birthday_strFROM users;
通过这样的方式,我们可以将birthday字段的日期类型转换为格式化后的字符串类型,并以birthday_str作为新的字段名。