Datum Format ändern in SQL
Ich versuche, das Datum zu formatieren, die Ausgabe auf dieser sql-Abfrage werden yyyy-mm-dd
(DATEADD(DAY,90,getdate()) output yyyy-mm-dd 00:00:00
Ich entfernen müssen 00:00:00
- Welches DBMS benutzt du?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einen Blick hier
Dem format, das Sie suchen, folgt diesem Muster
SELECT CONVERT(VARCHAR(10), GETDATE(), 120)
SELECT CONVERT(VARCHAR(10), GETDATE(), 120)
ersetzenGETDATE()
mit Ihrem date-Wert.SELECT CONVERT(VARCHAR(10), DATEADD(DAY,90,getdate()) , 120)
Ich finde, dass format KONVERTIEREN 121 in der Regel gibt mir alles, was ich will:
Da ich fast immer nur mit MilDate kompatibel, sortierbaren Datum-strings, 121 ist die einzige Art, die Anzahl, die muss ich mir merken.
Wenn Sie wollen einfach nur das Datum, dann wie oben, die Begrenzung der
VARCHAR
Länge bis 10.Wenn Sie wollen einfach nur
HH:MM:SS
dann verwendenVARCHAR(19)
und wickeln, dass in einemRIGHT(.., 8)
.Wenn Sie wollen mit Millisekunden für timing-Messungen, verwenden Sie einfach ein VARCHAR(23).
Und wenn Sie sich nicht erinnern kann, die string-Längen und offsets zu verwenden, verwenden Sie einfach den Datentyp VARCHAR(MAX):
Dann zählt es, sich von der Ausgabe, und ändern Sie die Längen-und
RIGHT(..)
zu dem, was Sie brauchen. So viel einfacher, als wade durch die enormeCAST And CONVERT
doc-Seite jedesmal, wenn ich brauche, um ein DateTime-format.Verwenden Sie die DATE_FORMAT - Funktion, wie folgt:
Nur ein
CONVERT
. Testen Sie diesen code:Oder noch einfacher zum testen:
BEARBEITEN
Als @RBarryYoung kommentiert, in der Tat abhängig von Ihrer Konfiguration kann es zurückgeben, ein anderes Datum-format und nicht genau die, die Sie fordern. Die Verwendung der
CONVERT
Angabe genau dem Stil, den Sie möchten, in diesem Fall die Nummer 121. Überprüfen Sie Microsoft BOL für weitere Informationen über styling und mitCONVERT
Beide zurück: