MySQL: STR_TO_DATE Function
This MySQL tutorial explains 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'
Advertisements