wake-up-neo.net

Abfrage zum Konvertieren von datetime nach date mysql

Ich versuche, den Datumsteil eines Datumszeitfelds abzurufen. Ich weiß, dass ich es mit date_format bekommen kann, aber das gibt einen String oder ein "varchar" -Feld zurück. Wie kann ich das Ergebnis in Datum konvertieren und nicht als varchar?

Dies ist meine Abfrage, die den Varchar zurückgibt:

(Select Date_Format(orders.date_purchased,'%m/%d/%Y')) As Date  

Ich habe verschiedene Kombinationen aus dieser Frage ausprobiert, konnte es aber nicht schaffen: 

MySQL-Abfrage - Datum bei der Ausgabe formatieren?

Jede Hilfe wird geschätzt.

29
chupeman

Versuchen Sie es als DATUM zu wirken

SELECT CAST(orders.date_purchased AS DATE) AS DATE_PURCHASED
47
Chandu

Verwenden Sie die Funktion DATE :

SELECT DATE(orders.date_purchased) AS date
31
OMG Ponies

Entweder die Cybernate- oder die OMG-Ponys-Lösung funktioniert. Das grundlegende Problem ist, dass die Funktion DATE_FORMAT() eine Zeichenfolge und kein Datum zurückgibt. Wenn du geschrieben hast 

(Select Date_Format(orders.date_purchased,'%m/%d/%Y')) As Date 

Ich denke, Sie haben MySQL im Wesentlichen gebeten, zu versuchen, die Werte in date_purchased gemäß dieser Formatzeichenfolge zu formatieren. Statt diese Spalte date_purchased aufzurufen, nennen Sie sie "Date". Diese Spalte würde jedoch kein Datum mehr enthalten, sondern eine Zeichenfolge. (Weil Date_Format() eine Zeichenfolge und kein Datum zurückgibt.) 

Ich glaube nicht, dass Sie das wollten, aber Sie haben es getan.

Verwechseln Sie nicht, wie ein Wert mit dem Wert aussieht. 

syntax von date_format:

SELECT date_format(date_born, '%m/%d/%Y' ) as my_date FROM date_tbl

    '%W %D %M %Y %T'    -> Wednesday 5th May 2004 23:56:25
    '%a %b %e %Y %H:%i' -> Wed May 5 2004 23:56
    '%m/%d/%Y %T'       -> 05/05/2004 23:56:25
    '%d/%m/%Y'          -> 05/05/2004
    '%m-%d-%y'          -> 04-08-13
2
Dedi Koswara

Ich sehe die vielen Arten von Anwendungen, aber ich finde dieses Layout als Referenzwerkzeug nützlicher:

SELECT DATE_FORMAT('2004-01-20' ,'%Y-%m-01');

 enter image description here

0
manish1706