在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-21SELECT 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 | 年,数字(两位数) |
%% | 文字%字符 |
%X | x,对于上面未列出的任何x |
以上是 在MySQL中将字符串转换为日期值 的全部内容, 来源链接: utcz.com/z/331904.html