怎么将MySQL查询出来的时间改为非标准格式
背景介绍
在进行MySQL数据库操作时,常常会查询出时间类型的数据。MySQL默认的时间格式是标准的”YYYY-MM-DD HH:MM:SS”,但有时我们需要将时间格式化为其他非标准的格式,例如”YYYY/MM/DD”或”HH:MM”等。本文将详细介绍如何通过MySQL的函数来修改时间的显示格式。
方式一:使用DATE_FORMAT函数
MySQL提供了一个DATE_FORMAT函数,该函数可以将日期或时间类型的数据格式化为我们需要的格式。下面是使用DATE_FORMAT函数的示例代码:
SELECT DATE_FORMAT(`time_column`, '指定的格式') FROM `table_name`;
其中,time_column
是数据库表中存储时间的列名,table_name
是数据库表的名称,’指定的格式’是要显示的时间格式,例如”YYYY/MM/DD”或”HH:MM”等。
示例代码:
SELECT DATE_FORMAT(`create_time`, '%Y/%m/%d') FROM `users`;
上述代码将查询users
表中的create_time
列,并将时间格式化为”YYYY/MM/DD”的形式进行显示。
运行结果:
DATE_FORMAT(create_time , ‘%Y/%m/%d’) |
---|
2021/08/01 |
2021/08/02 |
2021/08/03 |
… |
方式二:使用DATE_FORMAT函数结合DATE和TIME函数
除了使用DATE_FORMAT函数,我们还可以结合使用DATE和TIME函数来实现对时间格式的修改。DATE函数可以提取日期部分,TIME函数可以提取时间部分。下面是使用DATE_FORMAT函数结合DATE和TIME函数的示例代码:
SELECT DATE_FORMAT(DATE(`time_column`), '指定的日期格式') as `new_date_format`,
DATE_FORMAT(TIME(`time_column`), '指定的时间格式') as `new_time_format`
FROM `table_name`;
示例代码:
SELECT DATE_FORMAT(DATE(`create_time`), '%Y/%m/%d') as `new_date_format`,
DATE_FORMAT(TIME(`create_time`), '%H:%i') as `new_time_format`
FROM `users`;
上述代码将查询users
表中的create_time
列,并将日期格式化为”YYYY/MM/DD”,时间格式化为”HH:MM”进行显示。
运行结果:
new_date_format | new_time_format |
---|---|
2021/08/01 | 10:30 |
2021/08/02 | 12:45 |
2021/08/03 | 15:20 |
… |
方式三:使用CONCAT函数拼接日期和时间
除了使用DATE_FORMAT函数,我们还可以使用CONCAT函数将日期和时间拼接在一起,并且在拼接时可以加入其他的字符,例如”-“、”/”、”:”等。下面是使用CONCAT函数拼接日期和时间的示例代码:
SELECT CONCAT(DATE(`time_column`), '指定的字符', TIME(`time_column`)) as `new_format`
FROM `table_name`;
示例代码:
SELECT CONCAT(DATE(`create_time`), ' - ', TIME(`create_time`)) as `new_format`
FROM `users`;
上述代码将查询users
表中的create_time
列,并将日期和时间以” – “为分隔符拼接在一起进行显示。
运行结果:
new_format |
---|
2021-08-01 – 10:30:00 |
2021-08-02 – 12:45:00 |
2021-08-03 – 15:20:00 |
… |
总结
本文介绍了三种将MySQL查询出来的时间改为非标准格式的方法。通过使用DATE_FORMAT函数、结合DATE和TIME函数以及使用CONCAT函数拼接日期和时间,我们可以轻松地修改时间的显示格式,满足不同的需求。在实际应用中,可以根据具体情况选择适合的方法来格式化时间数据。