mysql todate的sql_MySQL数据库之MySQL STR_TO_DATE() 函数

本文主要向大家介绍了MySQL数据库之MySQL STR_TO_DATE() 函数 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

Summary: in this tutorial, we will show you how to use the MySQL STR_TO_DATE() function to convert a string into a date time value.

Introduction to MySQL STR_TO_DATE function

The following illustrates the syntax of the STR_TO_DATE() function:

STR_TO_DATE(str,fmt);

The STR_TO_DATE() converts the str string into a date value based on the fmt format string. The STR_TO_DATE()function may return a DATE, TIME or DATETIME value based on the input and format strings. If the input string is illegal, the STR_TO_DATE() function returns NULL.

The STR_TO_DATE() function scans the input string to match with the format string. The format string may contain literal characters and format specifiers that begin with percentage (%) character. Check it out the DATE_FORMAT function for the list of format specifiers.

The STR_TO_DATE() function is very useful in data migration that involves temporal data conversion from external format to MySQL temporal data format.

MySQL STR_TO_DATE examples

Let’s look at some examples of using STR_TO_DATE() function to convert strings into a date and/or time values

The following statement converts a string into a DATE value.

SELECT STR_TO_DATE('21,5,2013','%d,%m,%Y');

Based on the format string ‘%d, %m, %Y’, the STR_TO_DATE() function scans the ’21,5,2013′ input string.

First, it attempts to find a match for the %d format specifier, which is a day of month (01…31), in the input string. Because the number 21 matches with the %d specifier, the function takes 21 as the day value.

Second, because the comma (,) literal character in the format string matches with the comma in the input string, the function continues to check the second format specifier %m, which is month (01…12), and finds that the number 5 matches with the %mformat specifier. It takes the number 5 as the month value.

Third, after matching the second comma (,), the STR_TO_DATE() function keeps finding a match for the third format specifier %Y, which is four-digit year e.g., 2012,2013, etc., and it takes the number 2013 as the year value.

The STR_TO_DATE() function ignores extra characters at the end of the input string when it parses the input string based on the format string. See the following example:

SELECT STR_TO_DATE('21,5,2013 extra characters','%d,%m,%Y');

The STR_TO_DATE() sets all incomplete date values, which are not provided by the input string, to zero. See the following example:

SELECT STR_TO_DATE('2013','%Y');

Because the input string only provides year value, the STR_TO_DATE() function returns a date value that has month and day set to zero.

The following example converts a time string into a TIME value:

SELECT STR_TO_DATE('113005','%h%i%s');

Similar to the unspecified date part, the STR_TO_DATE() function sets unspecified time part to zero, see the following example:

SELECT STR_TO_DATE('11','%h');

The following example converts of the string into a DATETIME value because the input string provides both data and time parts.

SELECT STR_TO_DATE('20130101 1130','%Y%m%d %h%i') ;

In this tutorial, we have shown you various examples of using the MySQL STR_TO_DATE() function to convert strings to date and time values.

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值