必威体育Betway必威体育官网
当前位置:首页 > IT技术

MySQL str_to_date()函数

时间:2019-06-12 23:43:10来源:IT技术作者:seo实验室小编阅读:63次「手机版」
 

to_date

转载自  mysql str_to_date()函数

MySQL STR_TO_DATE函数简介

下面说明了STR_TO_DATE()函数的语法:

STR_TO_DATE(str,fmt);

STR_TO_DATE()根据fmt格式字符串将str字符串转换为日期值。 STR_TO_DATE()函数可能会根据输入和格式字符串返回DATETIMEDATETIME值。 如果输入字符串是非法的,则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()函数将字符串转换为日期和时间值的各种示例。

相关阅读

MySQL Binlog 解析工具 Maxwell 详解

maxwell 简介 Maxwell是一个能实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、

Matlab中自定义函数(一)

作为一个程序员出生的Matlab学习者,不能定义函数那简直是受不了!! 最重要的一点! 定义函数的时候,很多时候都会很迷的一般,使用不了

wait(),waitpid()函数

首先我们来了解一下所谓的僵尸进程,僵尸进程就是两个进程,一个父进程,一个子进程,其子进程终止后,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

container of()函数简介

在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member), 但是当你通过追踪源码时,像我们这样的一般人就会绝望了(

分享到:

栏目导航

推荐阅读

热门阅读