Pilih hari pertama bulan dengan cekap dalam SQL
Dalam SQL, mendapatkan hari pertama bulan tertentu adalah keperluan biasa. Walaupun pendekatan tradisional menukar tahun dan bulan kepada rentetan dan kemudian menambahkan "/01" (seperti yang ditunjukkan di bawah) berfungsi, ia tidak mempunyai kecekapan dan keanggunan:
<code class="language-sql">SELECT CAST(CAST(YEAR(@mydate) AS VARCHAR(4)) + '/' + CAST(MONTH(@mydate) AS VARCHAR(2)) + '/01' AS DATETIME)</code>
Alternatif yang lebih cekap
Pendekatan yang lebih cekap dan fleksibel ialah menggunakan gabungan fungsi DATEADD() dan DATEDIFF():
<code class="language-sql">SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS StartOfMonth</code>
Kaedah ini melakukan perkara berikut:
Pendekatan ini mempunyai kelebihan prestasi yang ketara, terutamanya apabila berurusan dengan set data yang besar atau pertanyaan yang kompleks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Hari Pertama Dalam Sebulan dengan Cekap dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!