Ekstrak tarikh daripada nilai masa tarikh SQL Server
Kebanyakan aplikasi SQL mengendalikan data yang mengandungi komponen tarikh dan masa. Walau bagaimanapun, dalam beberapa kes kami hanya perlu mengekstrak bahagian tarikh dan membuang maklumat masa. Ini boleh dicapai dengan berkesan melalui pelbagai teknik dalam SQL Server.
Kaedah yang paling berkesan
Walaupun beberapa kaedah wujud, cara paling berkesan untuk mengekstrak tarikh daripada datetime dalam SQL Server ialah menggunakan gabungan fungsi DATEADD() dan fungsi DATEDIFF(). Kaedah ini termasuk langkah-langkah berikut:
Contohnya:
<code class="language-sql">SELECT DATEADD(DAY, DATEDIFF(DAY, 0, '2008-09-25 12:34:56'), 0)</code>
Berbanding dengan pilihan lain seperti menukar menggunakan CAST(FLOOR(CAST(... AS FLOAT)) AS DATETIME) atau CONVERT(DATETIME, CONVERT(VARCHAR(10), ..., 120), 120) , ini kaedah telah terbukti sebagai kaedah terpantas dan paling berkesan.
Tanda Aras
Ujian prestasi pada set data yang mengandungi lebih 130 juta baris rekod dengan cap masa tepat hingga milisaat menunjukkan keputusan berikut:
方法 | CPU时间(ms) |
---|---|
纯SELECT | 422 |
Floor-Cast | 625 |
字符串转换 | 1953 |
DateAdd | 531 |
Perlu diingat bahawa prestasi mungkin berbeza-beza bergantung pada saiz, pengedaran dan faktor lain data anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Bahagian Tarikh dengan Cekap daripada Nilai DateTime dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!