MySQL时间格式化是一种实现对 MySQL 数据库中存储的时间数据进行统一格式化处理的技术。通常我们定义字段类型为DATETIME或TIMESTAMP,这会自动存入YYYY-MM-DD HH:mm:ss格式的日期时间,可以根据我们自己的需要,将时间修改成合适的格式。
比如,我们需要将日期时间改为YYYY-mm-dd HH:mm格式,可以使用MySQL函数 DATE_FORMAT() 把上述格式化处理。函数DATE_FORMAT()有两个参数,第一个参数接收的是一个字段的内容,第二个参数表示要转换的时间格式,可以参考MySQL安装文档中关于时间格式的说明。一般写法如下:
SELECT DATE_FORMAT(字段, '时间格式') FROM 表名;
例如,要将 employee表中的字段created_at中的数据转换成YYYY-mm-dd HH:mm格式,可以使用下面的语句:
SELECT DATE_FORMAT(created_at, '%Y-%m-%d %H:%i') FROM employee;
另外,也可以使用MySQL日期函数DATE()或者TIME()把DATETIME or TIMESTAMP 类型字段的值抽取出来,例如,要抽取出created_at字段的日期及时间,可以使用下面的语句:
SELECT DATE(created_at) AS '日期', TIME(created_at) AS '时间' FROM employee;
总的来说,MySQL里有大量的函数可以用来对时间字段进行格式化及运算处理,DATE_FORMAT()函数或DATE()/TIME()函数两种方案可以满足大部分的需求,使SQL语句代码更加精简,维护也更加方便。