to_date
MySQL STR_TO_DATE函数简介
下面说明了STR_TO_DATE()
函数的语法:
STR_TO_DATE(str,fmt);
STR_TO_DATE()
根据fmt
格式字符串将str
字符串转换为日期值。 STR_TO_DATE()
函数可能会根据输入和格式字符串返回DATE
,TIME
或DATETIME
值。 如果输入字符串是非法的,则STR_TO_DATE()
函数返回NULL
。
STR_TO_DATE()
函数扫描输入字符串来匹配格式字符串。格式字符串可能包含以百分比(%
)字符开头的文字字符和格式说明符。 查看格式说明符列表的DATE_FORMAT函数。
STR_TO_DATE()
函数在数据迁移中非常有用,涉及从外部格式到MySQL时间数据格式的时间数据转换。
MySQL STR_TO_DATE示例
我们来看一些使用STR_TO_DATE()
函数将字符串转换成日期和/或时间值的例子。
以下语句将字符串转换为DATE
值,如下所示 -
mysql> SELECT STR_TO_DATE('21,5,2018','%d,%m,%Y');
+-------------------------------------+
| STR_TO_DATE('21,5,2018','%d,%m,%Y') |
+-------------------------------------+
| 2018-05-21 |
+-------------------------------------+
1 row in set
根据格式字符串格式'%d,%m,%Y'
,STR_TO_DATE()
函数扫描'21,5,2018'
输入字符串。
- 首先,它尝试在输入字符串中找到
%d
格式说明符的匹配项,这是一个月的日期(01 … 31)。 因为21
号与%d
说明符相匹配,所以该函数将21
作为日期值。 - 第二步,因为格式字符串中的逗号(
,
)字符串与输入字符串中的逗号匹配,所以函数继续检查第二个格式说明符%m
,这是一个月(01 … 12),并且发现数字5
与%m
格式说明符匹配。以数字5
为月份。 - 第三步,在匹配第二个逗号(,)之后,STR_TO_DATE()函数会继续找到第三个格式说明符%Y的匹配项,它是四位数的年份,例如2012,2013等,它的编号为2013 年值。
STR_TO_DATE()
函数在根据格式字符串解析输入字符串时忽略输入字符串末尾的额外字符。 请参阅以下示例:
mysql> SELECT STR_TO_DATE('21,5,2013 extra characters','%d,%m,%Y');
+------------------------------------------------------+
| STR_TO_DATE('21,5,2013 extra characters','%d,%m,%Y') |
+------------------------------------------------------+
| 2013-05-21 |
+------------------------------------------------------+
1 row in set
STR_TO_DATE()
将输入字符串不提供的所有不完整的日期值设置为零。 请参阅以下示例:
mysql> SELECT STR_TO_DATE('2018','%Y');
+--------------------------+
| STR_TO_DATE('2018','%Y') |
+--------------------------+
| NULL |
+--------------------------+
1 row in set
因为输入字符串只提供年值,所以STR_TO_DATE()
函数返回一个日期值,它的月和日设置为零。
以下示例将时间字符串转换为TIME
值:
mysql> SELECT STR_TO_DATE('113005','%h%i%s');
+--------------------------------+
| STR_TO_DATE('113005','%h%i%s') |
+--------------------------------+
| NULL |
+--------------------------------+
1 row in set
类似于未指定的日期部分,STR_TO_DATE()
函数将未指定的时间部分设置为零,请参见以下示例:
mysql> SELECT STR_TO_DATE('11','%h');
+------------------------+
| STR_TO_DATE('11','%h') |
+------------------------+
| NULL |
+------------------------+
1 row in set
以下示例将字符串转换为DATETIME
值,因为输入字符串提供日期和时间部分。
mysql> SELECT STR_TO_DATE('20130101 1130','%Y%m%d %h%i') ;
+--------------------------------------------+
| STR_TO_DATE('20130101 1130','%Y%m%d %h%i') |
+--------------------------------------------+
| 2013-01-01 11:30:00 |
+--------------------------------------------+
1 row in set
在本教程中,我们向您展示了使用MySQL STR_TO_DATE()
函数将字符串转换为日期和时间值的各种示例。
相关阅读
maxwell 简介 Maxwell是一个能实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、
作为一个程序员出生的Matlab学习者,不能定义函数那简直是受不了!! 最重要的一点! 定义函数的时候,很多时候都会很迷的一般,使用不了
首先我们来了解一下所谓的僵尸进程,僵尸进程就是两个进程,一个父进程,一个子进程,其子进程终止后,0-3G的用户内存被回收,而3-4G的部分内
C/C++ 学习笔记:istringstream、ostringstream、string
0、C++的输入输出分为三种:(1)基于控制台的I/O(2)基于文件的I/O(3)基于字符串的I/O 1、头文件[cpp] view plaincopyprint? #incl
在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member), 但是当你通过追踪源码时,像我们这样的一般人就会绝望了(