MariaDB STR_TO_DATE() Function
In MariaDB, STR_TO_DATE()
is a built-in function that converts a given date string to a date/time/datetime according to a specified format string.
The STR_TO_DATE()
function is the opposite of the DATE_FORMAT()
function.
MariaDB STR_TO_DATE()
Syntax
This is the syntax of the MariaDB STR_TO_DATE()
function:
STR_TO_DATE(str, format)
Parameters
str
-
Required. A string to be formatted as a date.
format
-
Required. format string.
The following table organizes the formatting symbols available in format
parameter:
Symbol | Description |
---|---|
%a |
Abbreviation of the week (Sun .. Sat ) |
%b |
Abbreviation of the month (Jan .. Dec ) |
%c |
month number (0 .. 12 ) |
%D |
Day of the month with English prefixes (0th , 1st , 2nd , 3rd , …) |
%d |
Two-digit representation of day of the month (00 .. 31 ) |
%e |
Numerical representation of each day of the month (0 .. 31 ) |
%f |
microseconds (000000 .. 999999 ) |
%H |
hours (00 .. 23 ) |
%h |
hours (01 .. 12 ) |
%I |
hours (01 .. 12 ) |
%i |
minutes (00 .. 59 ) |
%j |
day of the year (001 .. 366 ) |
%k |
hours (0 .. 23 ) |
%l |
hours (1 .. 12 ) |
%M |
month name (January .. December ) |
%m |
Two-digit month (00 .. 12 ) |
%p |
AM or PM |
%r |
Twelve-hour time (hh:mm:ss followed by AM or PM ) |
%S |
seconds (00 .. 59 ) |
%s |
seconds (00 .. 59 ) |
%T |
Twenty-four hour time ( hh:mm:ss ) |
%U |
The week of the year (00 ..53 ), week starts on Sunday; WEEK() mode 0 in the function |
%u |
The week of the year (00 ..53 ), the week starts on Monday; WEEK() mode 1 in the function |
%V |
The week of the year (01 ..53 ), the week starts on Sunday; WEEK() mode 2 in the function, for %X |
%v |
The week of the year (01 ..53 ), the week starts on Monday; WEEK() mode 3 in the function, for %x |
%W |
the name of the week (Sunday .. Saturday ) |
%w |
Day of the week (0 =Sunday.. 6 =Saturday) |
%X |
The week of the year, starting with Sunday, four digits, used for%V |
%x |
The week of the year, starting with Monday, four digits, used for%v |
%Y |
Four digit year |
%y |
Two digit year |
%% |
escape % |
%x |
x , other characters listed above |
If you supply the wrong number of arguments, MariaDB will report an error: ERROR 1582 (42000): Incorrect parameter count in the call to native function 'STR_TO_DATE'
.
Return value
The MariaDB STR_TO_DATE()
function returns a date/time/datetime.
If the date string cannot be parsed according to the given format string, the STR_TO_DATE()
function will return NULL
.
The STR_TO_DATE()
function will return NULL
if any of the arguments are NULL
.
MariaDB STR_TO_DATE()
Examples
Here are some common examples of the STR_TO_DATE()
function.
Example 1: Convert to date
SELECT STR_TO_DATE('2022/02/01', '%Y/%m/%d');
Output:
+---------------------------------------+
| STR_TO_DATE('2022/02/01', '%Y/%m/%d') |
+---------------------------------------+
| 2022-02-01 |
+---------------------------------------+
Example 2: Convert to datetime
SELECT STR_TO_DATE('2022/02/01 10:10:10', '%Y/%m/%d %H:%i:%S');
Output:
+---------------------------------------------------------+
| STR_TO_DATE('2022/02/01 10:10:10', '%Y/%m/%d %H:%i:%S') |
+---------------------------------------------------------+
| 2022-02-01 10:10:10 |
+---------------------------------------------------------+
Conclusion
In MariaDB, STR_TO_DATE()
is a built-in function that converts a given date string to a date/time/datetime according to a specified format string.