在MySQL中将字符串转换为日期值

有多种打印日期和时间的方法,并且花费大量时间进行编程,以将日期从一种格式转换为另一种格式。

要在MySQL中执行此操作,请使用STR_TO_DATE()函数,该函数具有两个参数。第一个参数是要解析的时间,第二个参数是该时间的格式。这是一个简单的示例,将一种日期格式转换为MySQL格式的日期字符串。

SELECT STR_TO_DATE('[ 21/Apr/2009:07:14:50 +0100]', '[ %d/%b/%Y:%H:%i:%S +0100]');

这将输出2009-04-21 07: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。

SELECT STR_TO_DATE('2009-04-21 14:87', '%Y-%m-%d %H:%i');

返回以下错误消息。

Incorrect datetime value: '2009-04-21 14:87' for function str_to_date

该错误很容易重现。例如,如果您想解析24格式的时间,则可以将%H使用数小时。数小时使用%h值会产生此错误。

下表列出了MySQL中日期格式化功能所涉及的所有不同参数。使用它来解析您自己的日期。

说明符描述
%一种工作日的缩写名称(周日..周六)
%b月份缩写名称(Jan..Dec)
%C月份,数字(0..12)
%D带有英文后缀的月份中的一天(第0、1、2、3,...)
%d每月的某天,数字(00..31)
%e每月的某天,数字(0..31)
%F微秒(000000..999999)
%H小时(00..23)
%H小时(01..12)
%一世小时(01..12)
%一世分钟,数字(00..59)
%j一年中的哪一天(001..366)
%k小时(0..23)
%l小时(1..12)
%M月名称(一月..十二月)
%m月份,数字(00..12)
%p上午或下午
%r时间(12小时)(hh:mm:ss,后接AM或PM)
%S秒(00..59)
%s秒(00..59)
%T时间24小时(hh:mm:ss)
%U周(00..53),其中周日是一周的第一天
%u周(00..53),其中星期一是一周的第一天
%V周(01..53),其中周日是一周的第一天;与%X一起使用
%v周(01..53),其中星期一是一周的第一天;与%x一起使用
%W工作日名称(周日..周六)
%w星期几(0 =星期日..6 =星期六)
%X星期的年份,其中星期日是一周的第一天,数字,四位数;与%V一起使用
%X一周的年份,其中星期一是一周的第一天,数字,四位数;与%v一起使用
%Y年,数字,四位数
%y年,数字(两位数)
%%文字%字符
%Xx,对于上面未列出的任何x

以上是 在MySQL中将字符串转换为日期值 的全部内容, 来源链接: utcz.com/z/331904.html

回到顶部