Benutzer mit den meisten Antworten
Datentyp Datetime2(0) und Aktuelle Datum

Frage
-
Hallo
ich habe eine Access DB mit Microsoft SQL Server Migration Assistant for Access auf den MSSQL gebracht
dort wurden meine Datumsfelder in den Datentypen Datetime2(0) konvertiert.
Hier meine frage - ist das OK so oder sollte ich besser den Datentypen Datetime verwenden oder gar nur Date (es steht nur ein Datum drin)
Des weiteren hatte ich den Standardwert Date() in meiner DB aus diesem Standardwert Date() ist jetzt ein
(CONVERT([datetime],CONVERT([varchar],getdate(),(1)),(1)))
geworden - ist das in mssql so gewollt?
oder gibt es dort auch so etwas wie Date() oder Date(Now)?
Danke
Antworten
-
datetime2 an sich ist besser als datetime, da es effizienter speichert und obendrein genauer ist.
in Deinem Fall ist date aber, wie Du richtig erkannt hast, noch besser.
Die Konvertierungs"Funktion" ist in der Tat ziemlich, nun ja.. holprig und redundant.
hier tut's auch ein einfaches
CONVERT(date, SYSDATETIME())
GETDATE() sollte man sowieso langsam mal sein lassen :)
Andreas Wolter | Microsoft Certified Master SQL Server
Blog: www.insidesql.org/blogs/andreaswolter
Web: www.andreas-wolter.com | www.SarpedonQualityLab.com- Als Antwort markiert MCDPone Mittwoch, 23. Oktober 2013 05:52
Alle Antworten
-
datetime2 an sich ist besser als datetime, da es effizienter speichert und obendrein genauer ist.
in Deinem Fall ist date aber, wie Du richtig erkannt hast, noch besser.
Die Konvertierungs"Funktion" ist in der Tat ziemlich, nun ja.. holprig und redundant.
hier tut's auch ein einfaches
CONVERT(date, SYSDATETIME())
GETDATE() sollte man sowieso langsam mal sein lassen :)
Andreas Wolter | Microsoft Certified Master SQL Server
Blog: www.insidesql.org/blogs/andreaswolter
Web: www.andreas-wolter.com | www.SarpedonQualityLab.com- Als Antwort markiert MCDPone Mittwoch, 23. Oktober 2013 05:52
-
Was ist denn genau dein Ziel?
Datetime2 ist "neu" und gibt dir die Zeit bis zur Nanosekunde wieder.
Weitere Möglichkeiten zur aktuellen Systemzeit wären:
SELECT CONVERT (time, SYSDATETIME()) ,
CONVERT (time, SYSDATETIMEOFFSET()) ,
CONVERT (time, SYSUTCDATETIME()) ,
CONVERT (time, CURRENT_TIMESTAMP) ,
CONVERT (time, GETDATE()) ,
CONVERT (time, GETUTCDATE());
Für weitere Infos und Beispiele schau bitte ins Technet.
http://msdn.microsoft.com/de-de/library/ms188383.aspx
Wenn dir die Antwort weitergeholfen hat makiere Sie bitte "als Antwort"
Beste Grüsse, M. Heitmann
MCSA: SQL Server 2012