date to varchar(10) convertieren?

n3oth3on3

Mitglied
Guten Abend,
habe zurzeit ein kleines Problem. Ich ziehe zurzeit mit meiner Seite um, von einer selbstgemachten zu einem CMS. Nun will ich ein neues Gästebuch, das Problem ist das ich gerne die Beiträge mitnehmen würde. Im alten wurden die Daten mit date() gespeichert, im neuem mit varchar(10). Wie kann ich die Daten nun umkonvertieren?

http://msdn.microsoft.com/de-de/library/ms187928.aspx

Hab das hier zwar gefunden, aber verstehe dies leider nicht so ganz. Vielleicht kann mir hier einer lieb weiterhelfen.

mfg
Thomas
 
Guten Abend,
habe zurzeit ein kleines Problem. Ich ziehe zurzeit mit meiner Seite um, von einer selbstgemachten zu einem CMS. Nun will ich ein neues Gästebuch, das Problem ist das ich gerne die Beiträge mitnehmen würde. Im alten wurden die Daten mit date() gespeichert, im neuem mit varchar(10). Wie kann ich die Daten nun umkonvertieren?

http://msdn.microsoft.com/de-de/library/ms187928.aspx

Hab das hier zwar gefunden, aber verstehe dies leider nicht so ganz. Vielleicht kann mir hier einer lieb weiterhelfen.

mfg
Thomas

Hallo,

In dem von dir angegebenen Link findest du im Punkt G folgendes Beispiel , welches deine Frage beantworten sollte :



Code:
SELECT 
   GETDATE() AS UnconvertedDateTime,
   CAST(GETDATE() AS nvarchar(30)) AS UsingCast,
   CONVERT(nvarchar(30), GETDATE(), 126) AS UsingConvertTo_ISO8601  ;
GO

(BTW:Ich bin eigentllich ein Oracle Mensch :))

...Im übrigen würde ich die Finger von einem System lassen, welches Date-Werte als Varchar speichert, dies ist ein No-Go und disqualifiziert meiner Meinung nach das System...Just my 2Cents...
 
Bist du sicher dass du eine MS SQl Db hast? Nicht MySQL? Die meisten CMS arbeiten mit MySQL
 
Guten Abend,
zurzeit benutze ich Wordpress mit mySQL, doch das Gästebuch Plugin speichert leider das Datum als varchar(10). Zwar kenne ich mich etwas mit Datenbanken aus, aber ich habe noch nie Datensätze konvertiert.

Ich will das neue Gästebuch weiterhin benutzen, weils ansich recht Simpel und gut ist und für meine zwecke reicht. Das alte Gästebuch hat seine Daten in einer Textdatei gespeichert. Brauche folgende Daten als varchar(10).

Code:
04.04.2011
10.04.2011
15.04.2011
16.05.2011
21.05.2011
17.08.2011
28.08.2011
20.09.2011
25.09.2011
08.10.2011
05.11.2011
05.11.2011
11.11.2011
27.11.2011
28.11.2011
06.12.2011
13.12.2011

Vielleicht kanns mir einer nochmal hier erklären, oder mir ebend diese Sätze schnell konvertieren, wäre sehr nett.
 
Wenn ich z.b. 2011-12-13,13.12.2011 oder 13-12-2011 eingebe zeigt er mir nur dieses an : 1. January 1970

Das Gästebuch trägt das Datum so ein : 1326579195

das ist der Wert für 14.01.2012 23:14

wie rechnet er dies dann?
 
Oh, nochmals neue Formate. Das ist ein Unix-Timestamp
Mit FROM_UNIXTIME() kannst du den in Ein Datum wandeln
SQL:
SELECT FROM_UNIXTIME(1326579195);
-- ergibt '2012-01-14 23:13:15'
Und wenn du es als speziellen String haben willst, kannst du das Datum dann noch mit DATE_FORMAT() formatieren
SQL:
SELECT DATE_FORMAT(FROM_UNIXTIME(1326579195), '%d.%m.%Y');
-- ergibt '14.01.2012'

Natürlich geht das Spiel auch in die andere Richtung. Aus deinem String kannst du wieder ein Unix-Timestamp machen
Zuerst mit STR_TO_DAT() aus dem String ein Date und dann mit UNIX_TIMESTAMP() ein Unix-Timestamp bilden
SQL:
SELECT UNIX_TIMESTAMP(STR_TO_DATE('14.01.2012', '%d.%m.%Y'));
-- ergibt 1326495600 Ist natürlich ein anderer Wert als der Anfangswert, da die Zeit abgeschnitten ist
 
Zuletzt bearbeitet von einem Moderator:
Vielen vielen Dank, das war genau das ich brauchte. Nun ist das Gästebuch wenigstens wieder richtig sortiert =) Ist zwar abundzu um 1 Tag immer etwas verschoben, das ist aber nun nicht schlimm.

Hab aber noch eine kleine andere Frage, das Datum wird so angezeigt : 15. May 2011

Auf Englisch, wie kann man das May in Mai umwandeln bzw. was muss ich im Gästebuch ändern, geht das? Das er zukünftigt alles richtig speichert =)
 

Neue Beiträge

Zurück