Menggabungkan Lajur Tarikh dan Masa dalam MS SQL Server
Ekstrak data kadangkala memaparkan tarikh dan masa dalam lajur yang berasingan. Artikel ini menunjukkan cara menggabungkannya dengan cekap ke dalam satu lajur masa tarikh dalam MS SQL Server.
Penyelesaian:
Kaedah mudah melibatkan penambahan terus medan tarikh dan masa. Walau bagaimanapun, ini memerlukan dua andaian utama:
date
mestilah sentiasa tengah malam (00:00:00).time
mestilah tarikh asas (1 Januari 1900).Jika syarat ini dipenuhi, pertanyaan SQL berikut akan berjaya menggabungkan data:
<code class="language-sql">SELECT CombinedDateTime = MyDate + MyTime FROM MyTable;</code>
Penjelasan:
Ini berfungsi kerana perwakilan dalaman datetime
jenis data. Ia menggunakan dua integer 4-bait; satu untuk tarikh dan satu untuk masa. Menambahnya terus menghasilkan nilai tarikh masa gabungan yang betul.
Nota Penting:
date
dan time
yang berasingan (tersedia daripada SQL Server 2008 dan seterusnya), hantar kedua-dua medan secara eksplisit ke datetime
sebelum penambahan: CAST(MyDate AS DATETIME) CAST(MyTime AS DATETIME)
.datetime
dan time
mungkin membawa kepada kehilangan ketepatan. Untuk penyelesaian yang mengekalkan ketepatan, rujuk [dokumentasi/artikel yang berkaitan](pautan_ke_artikel_berkaitan_atau_dokumentasi_di sini - gantikan dengan pautan sebenar jika ada). Ini melibatkan penggunaan fungsi seperti DATETIMEFROMPARTS
untuk kawalan yang lebih terperinci.Pendekatan ini menyediakan penyelesaian yang mudah dan berkesan untuk menggabungkan medan tarikh dan masa di bawah syarat yang ditetapkan. Untuk senario dengan data yang lebih kompleks, kaedah alternatif mungkin diperlukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Medan Tarikh dan Masa Berasingan ke dalam Lajur DateTime Tunggal dalam MS SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!