In this guide, we will explain how to use the MySQL STR_TO_DATE function with syntax and examples.
Description
The MySQL STR_TO_DATE function takes a string and returns a date specified by a format mask.
Syntax
The syntax for the STR_TO_DATE function in MySQL is:
STR_TO_DATE( string, format_mask )
Parameters or Arguments
string
The string value to format as a date.format_mask
The format to apply to string. The following is a list of options for the format_mask parameter. These parameters can be used in many combinations.
Value | Description |
---|---|
%a | Weekday name abbreviated (Sun to Sat) |
%b | Month name abbreviated (Jan to Dec) |
%c | Month as a numeric value (0 to 12) |
%D | Day of the month as a numeric value, followed by suffix (1st, 2nd, 3rd, …) |
%d | Day of the month as a numeric value (01 to 31) |
%e | Day of the month as a numeric value (0 to 31) |
%f | Microseconds (000000 to 999999) |
%H | Hour (00 to 23) |
%h | Hour (00 to 12) |
%I | Hour (00 to 12) |
%i | Minutes (00 to 59) |
%j | Day of the year (001 to 366) |
%k | Hour (00 to 23) |
%l | Hour (1 to 12) |
%M | Month name in full (January to December) |
%m | Month name as a numeric value (00 to 12) |
%p | AM or PM |
%r | Time in 12 hour AM or PM format (hh:mm:ss AM/PM) |
%S | Seconds (00 to 59) |
%s | Seconds (00 to 59) |
%T | Time in 24 hour format (hh:mm:ss) |
%U | Week where Sunday is the first day of the week (00 to 53) |
%u | Week where Monday is the first day of the week (00 to 53) |
%V | Week where Sunday is the first day of the week (01 to 53) Available starting in MySQL 3.23.8 and used with %X |
%v | Week where Monday is the first day of the week (01 to 53) Available starting in MySQL 3.23.8 and used with %X |
%W | Weekday name in full (Sunday to Saturday) |
%w | Day of the week where Sunday=0 and Saturday=6 |
%X | Year for the week where Sunday is the first day of the week Available starting in MySQL 3.23.8 and used with %V |
%x | Year for the week where Monday is the first day of the week Available starting in MySQL 3.23.8 and used with %v |
%Y | Year as a numeric, 4-digit value |
%y | Year as a numeric, 2-digit value |
Note
- The STR_TO_DATE function will return a datetime value, if the string contains both valid date and time parts.
- The STR_TO_DATE function will return a date value, if the string contains only valid date parts.
- The STR_TO_DATE function will return a time value, if the string contains only valid time parts.
- The STR_TO_DATE function will return a NULL value, if it is unable to extract valid date and time parts using the format_mask.
Applies To
The STR_TO_DATE function can be used in the following versions of MySQL:
- MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23
Example
Let’s look at some MySQL STR_TO_DATE function examples and explore how to use the STR_TO_DATE function in MySQL.
For example:
mysql> SELECT STR_TO_DATE('February 01 2014', '%M %d %Y'); Result: '2014-02-01' mysql> SELECT STR_TO_DATE('March,8,2014', '%M,%e,%Y'); Result: '2014-03-08' mysql> SELECT STR_TO_DATE('Friday, February 28, 2014', '%W, %M %e, %Y'); Result: '2014-02-28' mysql> SELECT STR_TO_DATE('2014,2,28 09', '%Y,%m,%d %h'); Result: '2014-02-28 09:00:00' mysql> SELECT STR_TO_DATE('2014,2,28 09,30,05', '%Y,%m,%d %h,%i,%s'); Result: '2014-02-28 09:30:05' mysql> SELECT STR_TO_DATE('10,15,30', '%h,%i,%s'); Result: '10:15:30'
Next Topic : Click Here
Pingback: MySQL: SECOND Function | Adglob Infosystem Pvt Ltd