Frage

Duplizieren von Was ist der beste Weg, um die Zeit Teil eines Datetime-Wert (SQL Server) zu entfernen ?

Ich habe eine Spalte, die verfolgt, wenn die Dinge erstellt werden ein Datetime verwenden, aber ich möchte einen Bericht erstellen, dass sie Gruppen von Tag, also brauche ich eine Möglichkeit, die Zeitkomponente eines Datetime-Spalte von nulling aus.

Wie kann ich das tun?

War es hilfreich?

Lösung

Eine Möglichkeit ist getdate() auf Ihre Spaltennamen zu ändern,

select dateadd(dd, datediff(dd, 0, getdate())+0, 0)

Andere Tipps

Warum nicht konvertieren gerade aktuell:

select convert(date, getdate())

Dies kürzt Tage, nicht Runden. Zum runden Tag dies zu tun:

select convert(date, getdate() + 0.5)

Hier ist eine andere Lösung:

SELECT CAST( FLOOR( CAST( GETDATE() AS float) ) AS smalldatetime)

Dies ist eine einfache Art und Weise das Datum (als String) von einem Datetime zu erhalten:

convert(varchar, <the date field/value/etc>, 101)

Aber beachten Sie, dass auf diesem Gebiet der Bestellung alphabetisch sein wird und nicht von Datum, da es jetzt eine Zeichenfolge

Ja. Es gibt viele Formate zur Auswahl, so werde ich es stattdessen verbinden.

http://library.cirr.com /Microsoft/SQL-Server-v7/html/ca-co_1.htm

Wenn Sie die Zeit auf Null heraus, wie Sie Ihre Post schon sagt, können Sie versuchen, diese:

select cast(convert(varchar, getdate(), 101) as datetime)
declare @CurrentDate datetime
set @CurrentDate = dateadd(dd, datediff(dd, 0, getdate()), 0)

- oder -

select dateadd(dd, datediff(dd, 0, MyDateColumn), 0) as DateOnly
from tblX

In meinen Recherchen ich auf die folgende Lösung kam, streift es an der Zeit nur aus der UTC-Zeit, aber ich fand es interessant, so dachte ich, jemand anderes würde auch:

FUNCTION TrimDate(@dt AS DATETIME) RETURNS DATETIME
BEGIN
    RETURN CAST(CAST((@dt - 0.500000038580247) AS INT) AS DATETIME) 
END

Ich würde davon ausgehen, dass es schnell läuft, da alle es tut, ist das Abrunden und Gießen.

ich einfach tun cast (getdate () als Datum)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top