Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggabungkan Medan Tarikh dan Masa Berasingan ke dalam Medan DateTime Tunggal dalam MS SQL Server?

Bagaimanakah Saya Boleh Menggabungkan Medan Tarikh dan Masa Berasingan ke dalam Medan DateTime Tunggal dalam MS SQL Server?

Susan Sarandon
Susan Sarandonasal
2025-01-17 17:07:11885semak imbas

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

Gabung medan tarikh dan masa dalam MS SQL Server

Apabila bekerja dengan data yang mengandungi lajur tarikh dan masa yang berasingan, anda perlu menggabungkannya ke dalam medan masa tarikh tunggal. Artikel ini akan meneroka cara untuk mencapai ini dalam MS SQL Server.

Gunakan padding sifar untuk menggabungkan medan

Jika komponen masa lajur "Tarikh" semuanya sifar dan komponen tarikh lajur "Masa" semuanya sifar (iaitu tarikh asas: 1 Januari 1900), kita hanya boleh menambahnya untuk mendapatkan hasil yang betul :

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

Ini berfungsi kerana tarikh dan masa disimpan sebagai dua integer 4-bait, dengan 4 bait kiri mewakili tarikh dan 4 bait kanan mewakili masa. Dengan menambahkannya bersama-sama, kami menggabungkan komponen tarikh dan masa dengan berkesan.

Gabungkan medan menggunakan jenis SQL Server 2008

Dalam SQL Server 2008 dan kemudian, jenis data Tarikh dan Masa telah diperkenalkan. Jika anda menggunakan jenis ini, anda boleh menambahkannya dengan menghantarnya ke datetime:

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

Cegah kehilangan ketepatan

Dalam SQL Server 2008 dan kemudian, penambahan nilai tarikh dan masa mungkin mengakibatkan kehilangan ketepatan. Untuk mengelakkan ini, salah satu nilai harus dinaikkan ke jenis datetime2 menggunakan fungsi CONVERT:

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

Dengan mengikut kaedah ini, anda boleh menggabungkan lajur tarikh dan masa dengan berkesan ke dalam medan masa tarikh tunggal dalam MS SQL Server, tanpa mengira jenis data yang digunakan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Medan Tarikh dan Masa Berasingan ke dalam Medan DateTime Tunggal dalam MS SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn