Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memilih Hari Pertama dalam Sebulan dengan Cekap dalam SQL?
Pendekatan SQL Diperkemas untuk Mencari Hari Pertama dalam Sebulan
Menggunakan tarikh dalam SQL selalunya memerlukan pengekstrakan hari pertama bulan tertentu. Walaupun beberapa kaedah wujud, teknik yang dipertingkatkan ini menawarkan keanggunan dan kecekapan.
Pertanyaan SQL Dioptimumkan
Pertanyaan berikut memanfaatkan fungsi DATEADD
dan DATEDIFF
untuk menentukan hari pertama bulan itu:
<code class="language-sql">SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS FirstDayOfMonth</code>
Penjelasan Terperinci
DATEDIFF(month, 0, @mydate)
: Ini mengira bilangan bulan antara zaman (selalunya 1 Januari 1900) dan tarikh input (@mydate
). Ini memberi offset bulan secara berkesan dari zaman itu.DATEADD(month, <month offset="">, 0)
: Ini menambah pengimbangan bulan yang dikira pada zaman (1 Januari 1900). Hasilnya ialah hari pertama dalam bulan bersamaan dengan @mydate
.Faedah Utama
DATEADD
secara amnya sangat dioptimumkan, membawa kepada pelaksanaan yang lebih pantas berbanding dengan penyelesaian tersuai yang lebih kompleks.Contoh Praktikal
Jika @mydate
ialah '2023-04-15', pertanyaan mengembalikan '2023-04-01', dengan betul mengenal pasti hari pertama April 2023.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memilih Hari Pertama dalam Sebulan dengan Cekap dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!