Heim >Datenbank >MySQL-Tutorial >Wie kann ich separate Datums- und Uhrzeitfelder in einem einzigen DateTime-Feld in MS SQL Server kombinieren?

Wie kann ich separate Datums- und Uhrzeitfelder in einem einzigen DateTime-Feld in MS SQL Server kombinieren?

Susan Sarandon
Susan SarandonOriginal
2025-01-17 17:07:11889Durchsuche

How Can I Combine Separate Date and Time Fields into a Single DateTime Field in MS SQL Server?

Datums- und Uhrzeitfelder in MS SQL Server zusammenführen

Wenn Sie mit Daten arbeiten, die separate Datums- und Uhrzeitspalten enthalten, müssen Sie diese in einem einzigen Datums-/Uhrzeitfeld zusammenführen. In diesem Artikel erfahren Sie, wie Sie dies in MS SQL Server erreichen.

Verwenden Sie Nullauffüllung, um Felder zusammenzuführen

Wenn die Zeitkomponente der Spalte „Datum“ ganz Null ist und die Datumskomponente der Spalte „Zeit“ ganz Null ist (d. h. Basisdatum: 1. Januar 1900), können wir sie einfach addieren, um das richtige Ergebnis zu erhalten :

<code class="language-sql">SELECT Combined = MyDate + MyTime FROM MyTable</code>

Dies funktioniert, weil Datum und Uhrzeit als zwei 4-Byte-Ganzzahlen gespeichert werden, wobei die linken 4 Bytes das Datum und die rechten 4 Bytes die Uhrzeit darstellen. Indem wir sie addieren, kombinieren wir effektiv die Datums- und Uhrzeitkomponenten.

Felder mit SQL Server 2008-Typen zusammenführen

In SQL Server 2008 und höher wurden die Datentypen „Datum“ und „Uhrzeit“ eingeführt. Wenn Sie diese Typen verwenden, können Sie sie hinzufügen, indem Sie sie in datetime umwandeln:

<code class="language-sql">SELECT Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME) FROM MyTable</code>

Genauigkeitsverlust verhindern

In SQL Server 2008 und höher kann das Hinzufügen von Datums- und Uhrzeitwerten zu einem Genauigkeitsverlust führen. Um dies zu verhindern, sollte einer der Werte mithilfe der CONVERT-Funktion zum Typ datetime2 heraufgestuft werden:

<code class="language-sql">SELECT Combined = CONVERT(datetime2, MyDate) + MyTime FROM MyTable</code>

Wenn Sie diese Methoden befolgen, können Sie Datums- und Zeitspalten unabhängig vom verwendeten Datentyp effektiv in einem einzigen Datums-/Uhrzeitfeld in MS SQL Server kombinieren.

Das obige ist der detaillierte Inhalt vonWie kann ich separate Datums- und Uhrzeitfelder in einem einzigen DateTime-Feld in MS SQL Server kombinieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn