如何在MySQL中进行日期转换?(mysql转化日期)
## 概要
MySQL是国外最流行的开源关系型数据库管理系统。它提供了一系列函数以及简单可用的命令来帮助数据库开发者完成数据库任务。其中,日期转换非常常用,既可以将字符串类型的日期转换为日期类型,也可以将日期类型的日期转换为字符串类型。本文将将介绍MySQL中如何进行日期转换以及相关技巧。
## 一、日期转换函数
MySQL提供了两个主要的日期转换函数,STR_TO_DATE和DATE_FORMAT,以及两个辅助函数UNIX_TIMESTAMP和FROM_UNIXTIME。前者还能够将日期字符串格式转换为指定样式,而另一个函数可以将MySQL date类型转换为指定格式的字符串。
### 1.STR_TO_DATE函数
STR_TO_DATE函数可以将字符串型的日期转换为MySQL的DATE类型,典型的SQL语法如下:
STR_TO_DATE('your_string_date1','format1')
其中格式化参数format1可以是定义的也可以是MySQL中的关键字。例如:
STR_TO_DATE('09/21/2018 12:00 am','%m/%d/%Y %h:%i %p');
该函数会返回一个datetime类型的数据,格式诸如2018-09-21 12:00:00.
### 2.DATE_FORMAT函数
DATE_FORMAT函数和前者类似,不同之处是它是对MySQL日期类型date或datetime进行转换,典型的SQL语法如下:
DATE_FORMAT(your_date,format)
例如:
DATE_FORMAT(now(),'%m/%d/%Y %h:%i %p');
则返回当前日期格式化为 09/14/2018 10:00 PM 。
### 3.UNIX_TIMESTAMP和FROM_UNIXTIME函数
此外,UNIX_TIMESTAMP和FROM_UNIXTIME也能够用来将MySQL的date/datetime类型转换为MySQL长整型和字符串格式,典型的SQL语法如下:
UNIX_TIMESTAMP(date)
FROM_UNIXTIME(n)
其中UNIX_TIMESTAMP(date)不带参数则返回当前日期,参数为指定date则返回改date的UNIX时间戳;FROM_UNIXTIME(n)重新格式化n,n可以是UNIX_TIMESTAMP函数返回的结果,也可以任何秒数,重新格式化为按指定格式返回新日期。
## 二、注意事项
在使用MySQL的日期转换函数时,有以下几点要注意:
* 日期字符串必须与格式参数格式完全匹配。
* 日期部分的字符数必须与格式参数中指定的字符数相同,否则函数将返回错误结果。
* 日期必须按照指定格式输入,否则会返回错误结果。
## 结论
以上就是MySQL中如何进行日期转换相关介绍。掌握MySQL常见的日期转换函数要点,加上注意以上几点,相信MySQL数据库开发者们一定能够轻松进行日期转换。