在MySQL中将字符串转换为日期值
有多种打印日期和时间的方法,并且花费大量时间进行编程,以将日期从一种格式转换为另一种格式。
要在MySQL中执行此操作,请使用STR_TO_DATE()函数,该函数具有两个参数。第一个参数是要解析的时间,第二个参数是该时间的格式。这是一个简单的示例,将一种日期格式转换为MySQL格式的日期字符串。
SELECTSTR_TO_DATE('[21/Apr/2009:07:14:50+0100]','[%d/%b/%Y:%H:%i:%S+0100]');
这将输出2009-04-2107:14:50。
使用此功能非常直观,这意味着您可以轻松地在时间格式之间进行转换。这是此功能的更多示例。
SELECT STR_TO_DATE('21/04/2009', '%d/%m/%Y'); //2009-04-21 SELECT STR_TO_DATE('04/21/2009', '%m/%d/%Y'); //2009-04-21 SELECT STR_TO_DATE('2009-04-21 14', '%Y-%m-%d %H'); //2009-04-21 14:00:00
如果输入的日期无法翻译,则会出现错误,请使用以下代码尝试将分钟值转换为87。
SELECTSTR_TO_DATE('2009-04-2114:87','%Y-%m-%d%H:%i');
返回以下错误消息。
Incorrectdatetimevalue:'2009-04-2114:87'forfunctionstr_to_date
该错误很容易重现。例如,如果您想解析24格式的时间,则可以将%H使用数小时。数小时使用%h值会产生此错误。
下表列出了MySQL中日期格式化功能所涉及的所有不同参数。使用它来解析您自己的日期。