2010-03-06 17 views
42

Ich möchte Datum & Zeitwert in varchar konvertieren und speichern Sie dann in Datenbankkonvertieren Datetime-Wert in String in Mysql

Ich Aktuelles Datum & Zeit mit NOW() in MySQL zu holen und wollen nun konvertieren in String weil ich diesen Wert mit String-Wert fusionieren

Antwort

95

Verwenden DATE_FORMAT()

SELECT 
    DATE_FORMAT(NOW(), '%d %m %Y') AS your_date; 
36

Das ist super alt, aber ich dachte, ich meine 2c hinzufügen würde. DATE_FORMAT zurückkehrt in die Tat eine Zeichenfolge, aber ich war für die CAST Funktion suchen, in der Situation, dass ich bereits eine Datetime-Zeichenfolge in der Datenbank hatte und gegen sie zu Mustererkennung benötigt:

http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html

In diesem Fall Sie würden verwenden:

CAST(date_value AS char)

Dieses eine etwas andere Frage beantwortet, aber die Frage Titel scheint genug mehrdeutig, dass dieser jemand der Suche helfen könnte.

+0

Der Titel ist sehr klar über die Frage. Khilen wollte nur das Datumsfeld in eine Zeichenfolge konvertieren. Ihre Antwort umfasst den Vergleich zweier Datumszeichenfolgen, die nicht die relevante Antwort sind. Die Antwort wurde abgelehnt. – KULKING

+10

Eigentlich @KULKING, habe ich die beiden Daten als Strings verglichen, was dies speziell auf die gestellte Frage anwendbar macht. Das Problem hier ist die Typumwandlung, die meine Antwort anspricht, allerdings mit einem kleinen Hintergrund für den Kontext meiner eigenen Ausgabe. – Chords

+2

+1 - netter schneller Weg, um eine Zeichenfolge zu erhalten (S. Es gibt manchmal Kleinigkeiten hier;)) –

2

Versuchen Sie folgendes:

concat(left(datefield,10),left(timefield,8)) 
  • 10 Zeichen auf Datumsfeld basierend auf vollständige Datum yyyy-MM-dd.

  • 8 Zeichen auf Zeit Feld basierend auf Vollzeit hh:mm:ss.

Es hängt von dem Format ab, das Sie es wünschen. Normalerweise können Sie das obige Skript verwenden und Sie können ein anderes Feld oder eine andere Zeichenfolge wie gewünscht einfügen.

Da tatsächlich Datum und Uhrzeit Feld als Zeichenfolge streichen, wenn Sie es lesen. Aber natürlich wirst du beim update Fehler bekommen oder es einfügen.