mysql的to date_MySQL STR_TO_DATE() 函数

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 strstring into a date value based on the fmtformat string. The STR_TO_DATE()function may return a DATE, TIMEor DATETIMEvalue 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 functionfor 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 DATEvalue.SELECT STR_TO_DATE('21,5,2013','%d,%m,%Y');

AAffA0nNPuCLAAAAAElFTkSuQmCC

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');

AAffA0nNPuCLAAAAAElFTkSuQmCC

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');

AAffA0nNPuCLAAAAAElFTkSuQmCC

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 TIMEvalue:SELECT STR_TO_DATE('113005','%h%i%s');

AAffA0nNPuCLAAAAAElFTkSuQmCC

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');

AAffA0nNPuCLAAAAAElFTkSuQmCC

The following example converts of the string into a DATETIMEvalue because the input string provides both data and time parts.SELECT STR_TO_DATE('20130101 1130','%Y%m%d %h%i') ;

AAffA0nNPuCLAAAAAElFTkSuQmCC

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.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值