1.9k Aufrufe
Gefragt in Datenbanken von deathfun Mitglied (177 Punkte)
Hallo!

Ich greife von einem C# Programm aus auf eine MySQL DB zu
und lese dort eine Tabelle aus.

SELECT * FROM blabla ORDER BY id DESC


Soweit funktioniert auch alles, nur frage ich auch ein Feld
vom Typ "Date" ab. Ich habe nun schon etwas länger
nicht mehr mit MySQL gearbeitet, aber müsste ich von
diesem Typ nicht den Inhalt zB. "2009-12-12" bekommen?

Denn ich bekomme "2009-12-12 00:00:00" ausgegeben.
Sollte dies nicht nur bei DateTime oder TimeStamp der
Fall sein?



Gruß
Deathfun



PS:
Visual C# Express 2008.
In das Date Feld wurde nur 2009-12-12 eingetragen.
Kollation auf latin1_german1_ci gestellt
(oben Internationale Darstellung zur besseren ansicht)

4 Antworten

0 Punkte
Beantwortet von ralfh Mitglied (227 Punkte)
Hallo Deathfun,
in MYSQL kannst Du das Datum formatiert ausgeben lassen.
Schau mal HIER.
Gruß Ralf
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Ich geb dir recht - MySQL sollte bei DATE keinen Zeitwert mit ausgeben. Bedenke aber: wenn du jede Ergebnisspalte sowieso nur als Text interpretierst, kannst du auch Datumsfelder entsprechend formatiert ausgeben:

dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-format
0 Punkte
Beantwortet von deathfun Mitglied (177 Punkte)
Hm, das Problem ist, dass ich jede Ausgelesene Zeile direkt in
einen String lade und das Datum nicht seperat auslese kann.

So enthält zB. der String

ausgabe2[4] = 4, 2009-12-12 00:00:00, bal, blabla



Diesen String Splitte ich dan in ein neues Array
ausgabe2_1 = ausgabe2[4].Split(',');

So das dan ausgabe2_1 diesen Inhalt hat:

ausgabe2_1[0] = 4
ausgabe2_1[1] = 2009-12-12 00:00:00
ausgabe2_1[2] = bla
ausgabe2_1[3] = blabla



Ist es möglich noch irgendetwas an der MySQL db zu änderen um
die korrekte ausgabe zu erhalten?



Gruß
Deathfun
0 Punkte
Beantwortet von ralfh Mitglied (227 Punkte)
SELECT DATE_FORMAT(DEINDATUMSFELD,"%d.%m.%Y") AS datumneu
...