it-swarm.com.de

Wie konvertiere ich einen String nach Datum in MySQL?

Ich habe eine string -Spalte, die als date fungiert, und ich möchte sie als date auswählen.

Ist es möglich?

Mein Beispieldatenformat wäre; month/day/year -> 12/31/2011

131
Joseph Lafuente

Wie unter MySQL erklärt wurde Mit einer Zeichenfolgenspalte mit Datumstext als Datumsfeld können Sie dies tun

SELECT  STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM    yourtable

Sie können diese Datumszeichenfolgen auch in WHERE -Klauseln behandeln. Zum Beispiel

SELECT whatever
  FROM yourtable
 WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAYS

Auf diese Weise können Sie alle Arten von Datums-/Uhrzeitlayouts verarbeiten. Bitte lesen Sie die Formatangaben für die Funktion DATE_FORMAT() , um zu erfahren, was Sie in den zweiten Parameter von STR_TO_DATE() einfügen können. .

233
bluefoot
STR_TO_DATE('12/31/2011', '%m/%d/%Y')
42
Bala R

http://dev.mysql.com/doc/refman/5.5/de/date-and-time-functions.html
Verwenden Sie die obige Seite, um auf weitere Funktionen in MySQL zu verweisen

SELECT  STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM    table

verwenden Sie beispielsweise die folgende Abfrage, um eine Ausgabe zu erhalten

SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table

Verwenden Sie für das String-Format den folgenden Link

http://dev.mysql.com/doc/refman/5.5/de/date-and-time-functions.html#function_date-format

9
Bharathiraja

Hier noch zwei Beispiele.

Zur Ausgabe von Tag, Monat und Jahr können Sie Folgendes verwenden:

select STR_TO_DATE('14/02/2015', '%d/%m/%Y');

Welches produziert:

14.02.2015

Um auch die Uhrzeit auszugeben, können Sie Folgendes verwenden:

select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');

Welches produziert:

2017-02-14 23:38:12

8
aalhanane