Die STR_TO_DATE SQL-Funktion in MySQL und MariaDB - Zeichenkette zu Datum formatieren |
|
| STR_TO_DATE | Syntax: | STR_TO_DATE(Zeichenkette, Format) | Rückgabe-Wert: | DATE, TIME, DATETIME | Funktions-Typ: | Datum und Zeit-Funktion | |
| | Die SQL-Funktion STR_TO_DATE() nimmt eine "Zeichenkette" nach der Angabe von "Format" und gibt je nach Inhalt der "Format"-Angabe einen Wert vom Typ DATETIME, DATE oder TIME zurück.
Die in "Zeichenkette" enthaltenen Datums- und Zeit-Werte sollten der durch "Format" angegebenen Zeichenfolge entsprechen.
Wenn die Argumente "Zeichenkette" oder "Format" einen ungültigen Wert oder NULL enthalten, gibt die STR_TO_DATE()-Funktion NULL zurück.
STR_TO_DATE() ist die Umkehrung der Funktion DATE_FORMAT().
Optionen für den "Format"-String:
Option | Beschreibung |
%a | Kurzer Name des Wochentags im aktuellen Gebietsschema (Variable lc_time_names). |
%b | Kurzform des Monatsnamens im aktuellen Gebietsschema. Für das Gebietsschema en_US ist dies einer der folgenden: Jan, Feb, Mär, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov oder Dez. |
%c | Monat mit 1 oder 2 Ziffern. |
%D | Tag mit englischem Suffix "th", "nd", "st" oder "rd". (1., 2., 3. ...). |
%d | Tag mit 2 Ziffern. |
%e | Tag mit 1 oder 2 Ziffern. |
%f | Mikrosekunden 6 Ziffern. |
%H | Stunde mit 2 Ziffern zwischen 00-23. |
%h | Stunde mit 2 Ziffern zwischen 01-12. |
%I | Stunde mit 2 Ziffern zwischen 01-12. |
%i | Minute mit 2 Ziffern. |
%j | Tag des Jahres (001-366) |
%k | Stunde mit 1 Ziffern zwischen 0-23. |
%l | Stunde mit 1 Ziffern zwischen 1-12. |
%M | Vollständiger Monatsname im aktuellen Gebietsschema (Variable lc_time_names). |
%m | Monat mit 2 Ziffern. |
%p | AM/PM gemäß aktuellem Gebietsschema (Variable lc_time_names). |
%r | Uhrzeit im 12-Stunden-Format, gefolgt von AM/PM. Abkürzung für '%I:%i:%S %p'. |
%S | Sekunden mit 2 Ziffern. |
%s | Sekunden mit 2 Ziffern. |
%T | Uhrzeit im 24-Stunden-Format. Abkürzung für '%H:%i:%S'. |
%U | Wochennummer (00-53), wenn der erste Tag der Woche Sonntag ist. |
%u | Wochennummer (00-53), wenn der erste Tag der Woche Montag ist. |
%V | Wochennummer (01-53), wenn der erste Tag der Woche Sonntag ist. Wird mit %X verwendet. |
%v | Wochennummer (01-53), wenn der erste Tag der Woche Montag ist. Wird mit %x verwendet. |
%W | Vollständiger Name des Wochentags im aktuellen Gebietsschema (Variable lc_time_names). |
%w | Wochentag. 0 = Sonntag, 6 = Samstag. |
%X | Jahr mit 4 Ziffern, wenn der erste Tag der Woche Sonntag ist. Wird mit %V verwendet. |
%x | Jahr mit 4 Ziffern, wenn der erste Tag der Woche Sonntag ist. Wird mit %v verwendet. |
%Y | Jahr mit 4 Ziffern. |
%y | Jahr mit 2 Ziffern. |
%# | Überspringt für str_to_date() alle Zahlen. |
%. | Überspringt bei str_to_date() alle Satzzeichen. |
%@ | Überspringt für str_to_date() alle Alphazeichen. |
%% | Ein wörtliches %-Zeichen. |
| SQL Beispiele für die STR_TO_DATE-Funktion |
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 |
|
|
| Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: | Verwendung der STR_TO_DATE() Funktion in MySQL und MariaDB-Datenbanken | Die Funktion STR_TO_DATE() in MySQL und MariaDB wandelt eine Zeichenfolgendarstellung eines Datums oder einer Uhrzeit in einen entsprechenden Datums- oder Uhrzeitwert um und ermöglicht es, das Format der Eingabezeichenfolge mithilfe von Formatbezeichnern anzugeben, um es an das Muster der Datums- oder Uhrzeitzeichenfolge anzupassen. Die Funktion gibt kein Ergebnis zurück, wenn die Eingabezeichenfolge nicht mit dem angegebenen Format übereinstimmt. STR_TO_DATE() ist nützlich, wenn eine Zeichenfolgendarstellung eines Datums oder einer Uhrzeit in einen geeigneten Datums- oder Uhrzeitwert in MySQL oder MariaDB konvertiert werden muss. | | Weitere MySQL und MariaDB SQL Datum und Zeit-Funktionen | ADDDATE | ADDDATE(Datum, [INTERVAL] Anzahl [Einheit]) | Mehr zur ADDDATE-Funktion |
| ADDTIME | ADDTIME(Datum, Ausdruck) | Mehr zur ADDTIME-Funktion |
| CONVERT_TZ | CONVERT_TZ(Datum, Von Zeitzone, Zu Zeitzone) | Mehr zur CONVERT_TZ-Funktion |
| CURDATE | CURDATE() | Mehr zur CURDATE-Funktion |
| CURTIME | CURTIME([Genauigkeit]) | Mehr zur CURTIME-Funktion |
| CURRENT_DATE | CURRENT_DATE(-) | Mehr zur CURRENT_DATE-Funktion |
| CURRENT_TIME | CURRENT_TIME([Genauigkeit]) | Mehr zur CURRENT_TIME-Funktion |
| CURRENT_TIMESTAMP | CURRENT_TIMESTAMP([Genauigkeit]) | Mehr zur CURRENT_TIMESTAMP-Funktion |
| DATE | DATE(Datum und Uhrzeit) | Mehr zur DATE-Funktion |
| DATE_ADD | DATE_ADD(Datum, INTERVAL Anzahl Einheit) | Mehr zur DATE_ADD-Funktion |
| DATE_SUB | DATE_SUB(Datum, INTERVAL Anzahl Einheit) | Mehr zur DATE_SUB-Funktion |
| FROM_DAYS | FROM_DAYS(Anzahl Tage) | Mehr zur FROM_DAYS-Funktion |
| FROM_UNIXTIME | FROM_UNIXTIME(Unix-Timestamp [, Format]) | Mehr zur FROM_UNIXTIME-Funktion |
| LOCALTIME | LOCALTIME([Genauigkeit]) | Mehr zur LOCALTIME-Funktion |
| LOCALTIMESTAMP | LOCALTIMESTAMP([Genauigkeit]) | Mehr zur LOCALTIMESTAMP-Funktion |
| MAKEDATE | MAKEDATE(Jahr, Tag vom Jahr) | Mehr zur MAKEDATE-Funktion |
| MAKETIME | MAKETIME(Stunden, Minuten, Sekunden) | Mehr zur MAKETIME-Funktion |
| NOW | NOW([Genauigkeit]) | Mehr zur NOW-Funktion |
| SEC_TO_TIME | SEC_TO_TIME(Sekunden) | Mehr zur SEC_TO_TIME-Funktion |
| SLEEP | SLEEP(Sekunden) | Mehr zur SLEEP-Funktion |
| SUBDATE | SUBDATE(Datum, [INTERVAL] Anzahl [Einheit]) | Mehr zur SUBDATE-Funktion |
| SUBTIME | SUBTIME(Datum und Uhrzeit, Abzug) | Mehr zur SUBTIME-Funktion |
| SYSDATE | SYSDATE() | Mehr zur SYSDATE-Funktion |
| TIME | TIME(Datum und Uhrzeit) | Mehr zur TIME-Funktion |
| TIMEDIFF | TIMEDIFF(Datum 1, Datum 2) | Mehr zur TIMEDIFF-Funktion |
| TIMESTAMP | TIMESTAMP(Datum [, Addition]) | Mehr zur TIMESTAMP-Funktion |
| TIMESTAMPADD | TIMESTAMPADD(Einheit, Anzahl, Datum) | Mehr zur TIMESTAMPADD-Funktion |
| TIMESTAMPDIFF | TIMESTAMPDIFF(Einheit, Datum 1, Datum 2) | Mehr zur TIMESTAMPDIFF-Funktion |
| UTC_DATE | UTC_DATE() | Mehr zur UTC_DATE-Funktion |
| UTC_TIME | UTC_TIME([Genauigkeit]) | Mehr zur UTC_TIME-Funktion |
| UTC_TIMESTAMP | UTC_TIMESTAMP([Genauigkeit]) | Mehr zur UTC_TIMESTAMP-Funktion |
| DAY | DAY(Datum) | Mehr zur DAY-Funktion |
| DAYOFMONTH | DAYOFMONTH(Datum) | Mehr zur DAYOFMONTH-Funktion |
| DAYOFWEEK | DAYOFWEEK(Datum) | Mehr zur DAYOFWEEK-Funktion |
| DAYOFYEAR | DAYOFYEAR(Datum) | Mehr zur DAYOFYEAR-Funktion |
| EXTRACT | EXTRACT(Einheit FROM Datum) | Mehr zur EXTRACT-Funktion |
| HOUR | HOUR(Datum und Uhrzeit) | Mehr zur HOUR-Funktion |
| MICROSECOND | MICROSECOND(Datum und Uhrzeit) | Mehr zur MICROSECOND-Funktion |
| MINUTE | MINUTE(Datum und Uhrzeit) | Mehr zur MINUTE-Funktion |
| MONTH | MONTH(Datum) | Mehr zur MONTH-Funktion |
| QUARTER | QUARTER(Datum) | Mehr zur QUARTER-Funktion |
| SECOND | SECOND(Datum und Uhrzeit) | Mehr zur SECOND-Funktion |
| TIME_TO_SEC | TIME_TO_SEC(Uhrzeit) | Mehr zur TIME_TO_SEC-Funktion |
| TO_DAYS | TO_DAYS(Datum) | Mehr zur TO_DAYS-Funktion |
| TO_SECONDS | TO_SECONDS(Datum und Uhrzeit) | Mehr zur TO_SECONDS-Funktion |
| UNIX_TIMESTAMP | UNIX_TIMESTAMP([Datum und Uhrzeit]) | Mehr zur UNIX_TIMESTAMP-Funktion |
| WEEK | WEEK(Datum [, Modus]) | Mehr zur WEEK-Funktion |
| WEEKDAY | WEEKDAY(Datum) | Mehr zur WEEKDAY-Funktion |
| WEEKOFYEAR | WEEKOFYEAR(Datum) | Mehr zur WEEKOFYEAR-Funktion |
| YEAR | YEAR(Datum) | Mehr zur YEAR-Funktion |
| YEARWEEK | YEARWEEK(Datum [, Modus]) | Mehr zur YEARWEEK-Funktion |
| DAYNAME | DAYNAME(Datum) | Mehr zur DAYNAME-Funktion |
| DATE_FORMAT | DATE_FORMAT(Datum und Uhrzeit, Format) | Mehr zur DATE_FORMAT-Funktion |
| GET_FORMAT | GET_FORMAT(Typ, Format) | Mehr zur GET_FORMAT-Funktion |
| MONTHNAME | MONTHNAME(Datum) | Mehr zur MONTHNAME-Funktion |
| TIME_FORMAT | TIME_FORMAT(Uhrzeit, Format) | Mehr zur TIME_FORMAT-Funktion |
|
|
| | Weitere Informationen zur SQL-Funktion STR_TO_DATE: und und |
|
|
|
|