Wie kann ich nur den Zeitabschnitt einer SQL datetimeoffset-Variablen festlegen?Ändern Sie nur den Zeitteil eines datetimeoffset in SQL
Zum Beispiel:
DECLARE @date datetimeoffset = '2014-01-11 11:04:26 +02:00'
Ich möchte zwei weitere datetimeoffsets berechnen:
@startdate should be '2014-01-11 00:00:00 +02:00'
@enddate should be '2014-01-12 00:00:00 +02:00'
Aber alle Lösungen, die ich den Offset auf Null gesetzt versucht.
HINWEIS: Ich brauche den ursprünglichen Offset in den Ergebnissen, da ich sie mit einigen datetimeoffset Spalten in einer Tabelle vergleichen muss. Das Casting auf ein Datum wird also nicht funktionieren.
Weitere Anmerkung: Dies wäre in SQL2012 ziemlich einfach; Ich könnte DATETIMEOFFSETFROMPARTS verwenden. Leider kann ich im Moment nicht auf 2012 upgraden. Beispiel:
SET @startdate = SELECT DATETIMEOFFSETFROMPARTS(datepart(yyyy, @date), datepart(mm, @date), datepart(dd, @date), 0, 0, 0, 0, datepart(tz, @date), 0, 7);
Wenn Sie den Zeitteil entfernen möchten, verwenden Sie dann 'Stimmen (@StartDate als Datum)'. –
Könnten Sie den Code, den Sie ausführen wollten, genau schreiben und das Ergebnis erwarten, das Sie erwarten? – OzrenTkalcecKrznaric