IT-Biene Geschrieben 5. Dezember 2012 Teilen Geschrieben 5. Dezember 2012 Hallo Leute, ich habe eine MS SQL Datendank, in dieser habe ich ein Feld (Typ Datetime) aus diesem möchte ich die Uhrzeit in ein anderes Feld, welches auch ein Datetime Feld ist ersetzen. Wie bekomme ich das am einfachsten in einer MS SQL umgesetzt? Mit freundlichen Grüßen IT-Biene Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Daij Geschrieben 7. Dezember 2012 Teilen Geschrieben 7. Dezember 2012 Hi Biensche, versteh ich das richtig - du hast in einem Feld ein Date stehen - bspw.: "10.10.2010 22:24:00:000" (oder so ähnlich) und deine Frage ist, wie du die Uhrzeit aus dem Date extrahieren kannst und separat speichern kannst? An sich ist das wahrscheinlich nicht sonderlich kompliziert - zunächst wärs aber hilfreich wie genau ein Eintrag in der Spalte aussieht, dann kann man den bspw. mit Substring zerlegen. Viele Grüße Daij Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 7. Dezember 2012 Teilen Geschrieben 7. Dezember 2012 Transact SQL Trigger Datenbanktrigger Sind der Schlüssel zum Erfolg. Jedes mal, wenn die Tabelle eine Veränderung erfährt, wird der Trigger ausgelöst und dort kanst Du festlegen, was passieren soll. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 9. Dezember 2012 Teilen Geschrieben 9. Dezember 2012 (bearbeitet) An sich ist das wahrscheinlich nicht sonderlich kompliziert - zunächst wärs aber hilfreich wie genau ein Eintrag in der Spalte aussieht, dann kann man den bspw. mit Substring zerlegen. Sting operationen sind allgemein sehr inperformant in (t)sql (allgemein sollte man auf Skalare Funktionen verzichten soweit machbar, alles was mit BEGIN anfängt und mit END aufhört ist zu 95% schlecht für die performance). Ein Datetime in einen String zu converten, dann mit substring rumspielen.... ne bitte nicht. Einfach ne, einfach nicht machen. 2 Beispiele die typensicher und "besser" sind : declare @a datetime =getdate() declare @b time declare @c datetime = convert(datetime, '2012-03-07 07:35:10') set @b = convert(time, @a) print @b print convert(date, @c) + convert(time, @a) Btw, wenns dir nur um den TIME teil des datetimes geht, du kannst auch ohne weiteres Felder in einer Tabelle anlegen, die vom Typ TIME sind. Damit hast du dann den richtigen Datentyp um das hinterher sauber auswerten zu können, OHNE in einem eventuell größeren Recordset erstmal alles zu konvertieren. soviel zu Konvertierung. Ansonsten Trigger wurde schon genannt, einfach nen inner join mit der INSERTED trigger Tabelle auf deine Zieltabelle und fertich. Gruß Sven Bearbeitet 9. Dezember 2012 von streffin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.