Konvertieren getdate() int
Wenn ich die folgende Abfrage ausführen:
select convert(int, getdate())
Bekomme ich das Ergebnis:
-----------
41238
(1 row(s) affected)
Wer weiß, was das bedeutet?
- Allright! Fand die Antwort schon. Es sind die Tage.
SELECT dateadd(day, convert(int, getdate()), '01/01/1900')
- Nein, es bedeutet, dass die Tage seit 1/1/1900.
- Yep! Aber es hängt davon ab, welchen DBMS du verwendest, richtig? Oder alle von Ihnen zählen beginnen am 1/1/1900?
- Hängt, Sie könnte sein, aber wahrscheinlich nicht. Fragen Sie uns, was Sie wirklich suchen und wir können Ihnen eine Lösung, oder spielen Sie nur mit
convert()
? - Eigentlich war ich auf der Suche, wie konvertiert int datetime. Eins führte zum anderen...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seine die Anzahl der Tage seit ich denken
1/1/1900
, sql-server hält die Anzahl der Tage seit dann.Versuchen, die Aufteilung, die Anzahl von etwa 365.
Sie sollten den Wert wieder in die Jahre (112).
Seit 1900 + 112 = 2012
Dies ist, da SQL nativ hält die Anzahl der Tage seit
01/01/1900
Den dezimalen nach dem integer-Wert ist die Zeit.
32.5
würde gleich02/01/1900 12:00 pm
Wenn Sie schauen, um zu erhalten und nur einen Teil des Datums als Ganzzahl ich würde empfehlen, mit datepart
Diese Aussage würde zurückkehren, nur den Monat und konvertiert diesen Wert in eine Ganzzahl.