2013-08-11 2 views
6

Ich versuche, Datum mit MySQL DATE_FORMAT zu formatieren. Meine Suche istMySQL DATE_FORMAT()

SELECT first_name, middle_name, last_name, DATE_FORMAT(added_date,'%d/%m/%Y') AS AddDate 
FROM profiles. 

added_date ist das Datumsfeld auf Profiltabelle, wenn ich diese Abfrage ausführen es für AddDate, jede Anregung Null bringt.

Danke.

+0

ist als added_date gespeichert Datum oder als INT? – Jared

+0

Was ist der Typ der added_date-Spalte und was wird angezeigt, wenn Sie dies nicht formatiert bekommen? Ich nehme an, dass diese Spalte nicht für alle Profile null ist? ;) – Wirus

Antwort

0

versuchen, etwas wie t seine Verwendung STR_TO_DATE(): -

SELECT first_name, middle_name, last_name, DATE_FORMAT(STR_TO_DATE(added_date, '%d-%m-%Y %h:%i:%s A'),'%d/%m/%Y') AS AddDate 
FROM profiles 
+0

Noch sagt es NULL – user1554459

0

finden Abfrage bearbeitet

SELECT first_name, middle_name, last_name, 
    DATE_FORMAT(STR_TO_DATE(added_date, '%d-%m-%Y %h:%i:%s A'),'%d/%m/%Y') AS AddDate 
    FROM profiles 

Reference question link

+0

Funktioniert immer noch nicht, lassen Sie mich Ihnen sagen, was ich erreichen möchte. Das added_date ist in diesem Format jetzt 11-08-2013 09:02:25 AM, ich möchte nur 11/08/2013 anzeigen. Wie kann ich dazu formatieren? – user1554459

+0

'@ user1554459' finden Sie die bearbeitete Abfrage. – Vijay

2

Auf der Basis Ihrer Kommentare, die Sie wahrscheinlich auf der Suche nach diesem

SELECT first_name, middle_name, last_name, 
     DATE_FORMAT(STR_TO_DATE(added_date, '%d-%m-%Y %h:%i:%s %p'),'%d/%m/%Y') AS AddDate 
FROM profiles 

Beispielausgabe:

 
| FIRST_NAME | MIDDLE_NAME | LAST_NAME | ADDDATE | 
----------------------------------------------------- 
|  Jhon |  (null) |  Doe | 11/08/2013 | 

Hier ist SQLFiddle Demo

+0

Immer noch dasselbe, es ist so komisch – user1554459

+1

Was ist der Datentyp von 'added_date'? Bitte post 'DESC Profile'. – peterm

1

Wenn Sie es als INT sind Speichern Sie könnten FROM_UNIXTIME verwenden müssen()

SELECT 
    first_name, 
    middle_name, 
    last_name, 
    DATE_FORMAT(FROM_UNIXTIME(added_date),'%d/%m/%Y') AS AddDate 
FROM 
    profiles 
+1

Vielen Dank, es funktioniert. – user1554459

+0

Aber in Ihrer Frage haben Sie erwähnt, dass added_date das Datumsfeld ist und FROM_UNIXTIME() für Int. :( –

+0

Mein Datentyp ist Varchar() Wenn ich Ihren Code ausführen zeigt 01.01.1970 Ich realisiere Datentyp ist das Problem, entweder ich muss Tabelle ändern. – user1554459