MSSQL datetime Feld "konvertieren"



  • Moin,

    ich habe in einer MSSQL DB mehrere Tabellen mit datetime Einträgen. Einige davon enthalten neben dem Datum Uhrzeiten, andere nicht.

    Die Daten werden für ein anderes Programm zur Ausgabe verwendet und das stellt einfach stupide dar, was in der DB steht. Da ich die Daten allerdings ohne Zeitangabe benötige, dachte ich mir, ich "lösch" die einfach aus den Feldern raus und zwar per

    UPDATE tabelle SET datum = CONVERT(CHAR(10), datum, 110)

    was also theoretisch sowas wie 2005-12-14 14:03:12 schlicht in 2005-12-14 umwandeln sollte. Geht aber natürlich nicht, weil chars nicht in ein datetime Feld passen.

    Irgendwie will mir nicht so recht einfallen, wie man das machen könnte.



  • Hm, die Datum-Zeit-Wert in einer temporären Tabelle speichern, das Feld aus der Tablle löschen, ein reines Datumsfeld einfügen und die Daten wieder in aus der temporären Tabellen in die Quelltabelle übertragen.
    Allerdings wäre ich dabei extrem vorsichtig. Es kann durchaus zu Problemen führen, wenn der Feldtyp einer Tabellen geändert wird.

    Den reinen Zeitanteil kannst Du sowieso nicht löschen, sondern bestenfalls den Zeitanteil auf 0 setzen.


Anmelden zum Antworten