tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Yaslaw
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
428
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    n3oth3on3 n3oth3on3 ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    26
    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
     

  2. #2
    dbwizard dbwizard ist offline Mitglied Brokat
    Registriert seit
    May 2007
    Ort
    Zürich
    Beiträge
    285
    Zitat Zitat von n3oth3on3 Beitrag anzeigen
    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 :
    1
    2
    3
    4
    5
    6
    
     
    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...
     

  3. #3
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Bist du sicher dass du eine MS SQl Db hast? Nicht MySQL? Die meisten CMS arbeiten mit MySQL
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  4. #4
    n3oth3on3 n3oth3on3 ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    26
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    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.
     

  5. #5
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Das ist doch varchar.
    C&P fertig.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  6. #6
    n3oth3on3 n3oth3on3 ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    26
    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?
     

  7. #7
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Oh, nochmals neue Formate. Das ist ein Unix-Timestamp
    Mit FROM_UNIXTIME() kannst du den in Ein Datum wandeln
    Code sql:
    1
    2
    
    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
    Code sql:
    1
    2
    
    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
    Code sql:
    1
    2
    
    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
    n3oth3on3 bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  8. #8
    n3oth3on3 n3oth3on3 ist offline Mitglied Bronze
    Registriert seit
    May 2010
    Beiträge
    26
    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 =)
     

Ähnliche Themen

  1. VarChar nach Date umwandeln?
    Von deintag85 im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 08.07.09, 12:04
  2. SQL/Oracle date/time -> suche Date
    Von Goldman im Forum .NET Café
    Antworten: 0
    Letzter Beitrag: 20.05.09, 15:28
  3. [C#] Access DATE != DataGridView DATE ? + Daten ändern, aber wie?
    Von Blackhawk50000 im Forum .NET Windows Forms
    Antworten: 22
    Letzter Beitrag: 31.07.08, 16:26
  4. varchar() -> date Formatieren bei Import
    Von AlexD1979 im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 24.03.04, 17:41
  5. convertieren
    Von Bart im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 18.02.02, 17:12