Heim > Datenbank > MySQL-Tutorial > Wie kann ich separate Datums- und Uhrzeitspalten in einer einzigen DateTime-Spalte in MS SQL Server kombinieren?

Wie kann ich separate Datums- und Uhrzeitspalten in einer einzigen DateTime-Spalte in MS SQL Server kombinieren?

Linda Hamilton
Freigeben: 2025-01-17 17:22:10
Original
562 Leute haben es durchsucht

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

Datums- und Uhrzeitspalten in MS SQL Server zusammenführen: Eine umfassende Anleitung

Viele Datenbankdesigns speichern Datums- und Uhrzeitinformationen in zwei separaten Spalten. In dieser Anleitung wird erläutert, wie Sie diese effizient in einer einzigen datetime-Spalte in MS SQL Server kombinieren.

Die Lösung

Angenommen, Ihre Spalte „Datum“ enthält nur Datumswerte (Zeitanteil ist Null) und Ihre Spalte „Zeit“ enthält nur Zeitwerte (Datumsanteil ist der 1. Januar 1900), funktioniert überraschenderweise eine einfache Additionsoperation:

<code class="language-sql">SELECT CombinedDateTime = MyDate + MyTime FROM MyTable;</code>
Nach dem Login kopieren

Den Mechanismus verstehen

Diese scheinbar unkomplizierte Ergänzung nutzt die interne Darstellung von datetime-Werten in älteren SQL Server-Versionen. Jeder datetime-Wert wird als zwei 4-Byte-Ganzzahlen gespeichert: eine für das Datum und eine für die Uhrzeit. Durch das Addieren wird eine bitweise Kombination durchgeführt, die zu einem einzelnen datetime-Wert führt.

Umgang mit neueren SQL Server-Versionen und Datentypen

Für SQL Server 2008 und höher wurden neben DATE und TIME auch die Datentypen DATETIME und DATETIME2 eingeführt. Die direkte Addition entfällt. Um DATE und TIME in diesen neueren Versionen zu kombinieren, ist die explizite Umwandlung in DATETIME entscheidend:

<code class="language-sql">SELECT CombinedDateTime = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME) FROM MyTable;</code>
Nach dem Login kopieren
Nach dem Login kopieren

Darüber hinaus kann das direkte Hinzufügen von datetime2-Werten zu einem Präzisionsverlust führen. Um die Genauigkeit sicherzustellen, konvertieren Sie vor dem Kombinieren in DATETIME:

<code class="language-sql">SELECT CombinedDateTime = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME) FROM MyTable;</code>
Nach dem Login kopieren
Nach dem Login kopieren

Dieser Ansatz garantiert eine präzise und zuverlässige Kombination Ihrer Datums- und Uhrzeitkomponenten in einer einzigen datetime Spalte, unabhängig von Ihrer SQL Server-Version.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage