©SQL :: Manager
HomeProgram InformationTechnical detailsFree downloadDonate for a cup of coffee
myway SQL Manager for MySQL and MariaDB, Download on Uptodown
SQL functionMySQLMariaDB

The STR_TO_DATE SQL Function in MySQL and MariaDB - Format string to date

STR_TO_DATESyntax:STR_TO_DATE(String, Format)
Return value:DATE, TIME, DATETIME
Function type:Date and Time function
Function Description

The STR_TO_DATE() function takes a "String" after the "Format" specification and returns a value of type DATETIME, DATE or TIME depending on the content of the "Format" specification.

The date and time values ​​contained in "String" should match the string specified by "Format".

If "String" or "Format" contains an invalid value or NULL, the STR_TO_DATE() function returns NULL.


STR_TO_DATE() is the inverse of the DATE_FORMAT() function.


Options for the "Format" string:

OptionDescription
%aShort weekday name in current locale (Variable lc_time_names).
%bShort form month name in current locale. For locale en_US this is one of: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov or Dec.
%cMonth with 1 or 2 digits.
%DDay with English suffix 'th', 'nd', 'st' or 'rd''. (1st, 2nd, 3rd...).
%dDay with 2 digits.
%eDay with 1 or 2 digits.
%fMicroseconds 6 digits.
%HHour with 2 digits between 00-23.
%hHour with 2 digits between 01-12.
%IHour with 2 digits between 01-12.
%iMinute with 2 digits.
%jDay of the year (001-366)
%kHour with 1 digits between 0-23.
%lHour with 1 digits between 1-12.
%MFull month name in current locale (Variable lc_time_names).
%mMonth with 2 digits.
%pAM/PM according to current locale (Variable lc_time_names).
%rTime in 12 hour format, followed by AM/PM. Short for '%I:%i:%S %p'.
%SSeconds with 2 digits.
%sSeconds with 2 digits.
%TTime in 24 hour format. Short for '%H:%i:%S'.
%UWeek number (00-53), when first day of the week is Sunday.
%uWeek number (00-53), when first day of the week is Monday.
%VWeek number (01-53), when first day of the week is Sunday. Used with %X.
%vWeek number (01-53), when first day of the week is Monday. Used with %x.
%WFull weekday name in current locale (Variable lc_time_names).
%wDay of the week. 0 = Sunday, 6 = Saturday.
%XYear with 4 digits when first day of the week is Sunday. Used with %V.
%xYear with 4 digits when first day of the week is Sunday. Used with %v.
%YYear with 4 digits.
%yYear with 2 digits.
%#For str_to_date(), skip all numbers.
%.For str_to_date(), skip all punctation characters.
%@For str_to_date(), skip all alpha characters.
%%A literal % character.

SQL Examples for the STR_TO_DATE function

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17

select str_to_date('2020-02-30''%Y-%m-%d');
select str_to_date('2020, 02, 30''%Y, %m, %d');
select str_to_date('30, 02, 2020''%d, %m, %Y');
select str_to_date('20200230''%Y%m%d');
select str_to_date('May 2, 2023''%M %e, %Y');
select str_to_date('Monday, May 2, 2023''%W, %M %e, %Y');

select str_to_date('10 15 30''%H %i %s');
select str_to_date('30 15 10''%s %i %H');
select str_to_date('10 15 30 6000''%H %i %s %f');

select str_to_date('May 2, 2023''%W, %M %e, %Y');
select str_to_date('May 2, 2023''');
select str_to_date(null'%W, %M %e, %Y');
select str_to_date('Monday, May 2, 2023'null);

str_to_date('2020-02-30', '%Y-%m-%d')
date(10)
2020-02-30
str_to_date('2020, 02, 30', '%Y, %m, %d')
date(10)
2020-02-30
str_to_date('30, 02, 2020', '%d, %m, %Y')
date(10)
2020-02-30
str_to_date('20200230', '%Y%m%d')
date(10)
2020-02-30
str_to_date('May 2, 2023', '%M %e, %Y')
date(10)
2023-05-02
str_to_date('Monday, May 2, 2023', '%W, %M %e, %Y')
date(10)
2023-05-02
str_to_date('10 15 30', '%H %i %s')
time(10)
10:15:30
str_to_date('30 15 10', '%s %i %H')
time(10)
10:15:30
str_to_date('10 15 30 6000', '%H %i %s %f')
time(17)
10:15:30.600000
str_to_date('May 2, 2023', '%W, %M %e, %Y')
date(10)
NULL
str_to_date('May 2, 2023', '')
date(10)
NULL
str_to_date(null, '%W, %M %e, %Y')
date(10)
NULL
str_to_date('Monday, May 2, 2023', null)
datetime(26)
NULL
The examples were created with the MyWAY SQL manager: Download

How to use the STR_TO_DATE() function in MySQL and MariaDB databases

The STR_TO_DATE() function in MySQL and MariaDB converts a string representation of a date or time to an equivalent Date or time value and allows the format of the input string to be specified using format specifiers to match the pattern of the date or time string. The function returns no result if the input string doesn't match the specified format. STR_TO_DATE() is useful when a string representation of a date or time to an appropriate date or time value in MySQL or MariaDB needs to be converted.
STDDEVSTDDEV_POPSTDDEV_SAMPSTR_TO_DATESTRCMPSUBDATESUBSTR

Further MySQL und MariaDB SQL Date and Time functions

ADDDATEADDDATE(Date, [INTERVAL] Number [Unit])
More about ADDDATE Function

ADDTIMEADDTIME(Date, Expression)
More about ADDTIME Function

CONVERT_TZCONVERT_TZ(Date, From time zone, To time zone)
More about CONVERT_TZ Function

CURDATECURDATE()
More about CURDATE Function

CURTIMECURTIME([Precision])
More about CURTIME Function

CURRENT_DATECURRENT_DATE(-)
More about CURRENT_DATE Function

CURRENT_TIMECURRENT_TIME([Precision])
More about CURRENT_TIME Function

CURRENT_TIMESTAMPCURRENT_TIMESTAMP([Precision])
More about CURRENT_TIMESTAMP Function

DATEDATE(Date and Time)
More about DATE Function

DATE_ADDDATE_ADD(Date, INTERVAL Number Unit)
More about DATE_ADD Function

DATE_SUBDATE_SUB(Date, INTERVAL Number Unit)
More about DATE_SUB Function

FROM_DAYSFROM_DAYS(Number of days)
More about FROM_DAYS Function

FROM_UNIXTIMEFROM_UNIXTIME(Unix timestamp [, Format])
More about FROM_UNIXTIME Function

LOCALTIMELOCALTIME([Precision])
More about LOCALTIME Function

LOCALTIMESTAMPLOCALTIMESTAMP([Precision])
More about LOCALTIMESTAMP Function

MAKEDATEMAKEDATE(Year, Day of year)
More about MAKEDATE Function

MAKETIMEMAKETIME(Hours, Minutes, Seconds)
More about MAKETIME Function

NOWNOW([Precision])
More about NOW Function

SEC_TO_TIMESEC_TO_TIME(Seconds)
More about SEC_TO_TIME Function

SLEEPSLEEP(Seconds)
More about SLEEP Function

SUBDATESUBDATE(Date, [INTERVAL] Number [Unit])
More about SUBDATE Function

SUBTIMESUBTIME(Date and Time, Deduction)
More about SUBTIME Function

SYSDATESYSDATE()
More about SYSDATE Function

TIMETIME(Date and Time)
More about TIME Function

TIMEDIFFTIMEDIFF(Date 1, Date 2)
More about TIMEDIFF Function

TIMESTAMPTIMESTAMP(Date [, Addition])
More about TIMESTAMP Function

TIMESTAMPADDTIMESTAMPADD(Unit, Number, Date)
More about TIMESTAMPADD Function

TIMESTAMPDIFFTIMESTAMPDIFF(Unit, Date 1, Date 2)
More about TIMESTAMPDIFF Function

UTC_DATEUTC_DATE()
More about UTC_DATE Function

UTC_TIMEUTC_TIME([Precision])
More about UTC_TIME Function

UTC_TIMESTAMPUTC_TIMESTAMP([Precision])
More about UTC_TIMESTAMP Function

DAYDAY(Date)
More about DAY Function

DAYOFMONTHDAYOFMONTH(Date)
More about DAYOFMONTH Function

DAYOFWEEKDAYOFWEEK(Date)
More about DAYOFWEEK Function

DAYOFYEARDAYOFYEAR(Date)
More about DAYOFYEAR Function

EXTRACTEXTRACT(Unit FROM Date)
More about EXTRACT Function

HOURHOUR(Date and Time)
More about HOUR Function

MICROSECONDMICROSECOND(Date and Time)
More about MICROSECOND Function

MINUTEMINUTE(Date and Time)
More about MINUTE Function

MONTHMONTH(Date)
More about MONTH Function

QUARTERQUARTER(Date)
More about QUARTER Function

SECONDSECOND(Date and Time)
More about SECOND Function

TIME_TO_SECTIME_TO_SEC(Time)
More about TIME_TO_SEC Function

TO_DAYSTO_DAYS(Date)
More about TO_DAYS Function

TO_SECONDSTO_SECONDS(Date and Time)
More about TO_SECONDS Function

UNIX_TIMESTAMPUNIX_TIMESTAMP([Date and Time])
More about UNIX_TIMESTAMP Function

WEEKWEEK(Date [, Mode])
More about WEEK Function

WEEKDAYWEEKDAY(Date)
More about WEEKDAY Function

WEEKOFYEARWEEKOFYEAR(Date)
More about WEEKOFYEAR Function

YEARYEAR(Date)
More about YEAR Function

YEARWEEKYEARWEEK(Date [, Mode])
More about YEARWEEK Function

DAYNAMEDAYNAME(Date)
More about DAYNAME Function

DATE_FORMATDATE_FORMAT(Date and Time, Format)
More about DATE_FORMAT Function

GET_FORMATGET_FORMAT(Type, Format)
More about GET_FORMAT Function

MONTHNAMEMONTHNAME(Date)
More about MONTHNAME Function

TIME_FORMATTIME_FORMAT(Time, Format)
More about TIME_FORMAT Function

Numeric functionsString functionsRegular ExpressionsDate and Time functions
Comparison functionsEncryption & CompressionConversion functionsNULL functions
Aggregate functionsWindow functionsJSON functionsGeometric functions
Sequence functionsInformation functionsDynamic ColumnsMiscellaneous functions
More information about the STR_TO_DATE SQL function: mysql.com and mariadb.com and w3schools.com
Updated: 2023-09-17ImprintContactTerms & conditionsPrivacy & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer