Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memilih Hari Pertama dalam Sebulan dengan Cekap dalam SQL?

Bagaimana untuk Memilih Hari Pertama dalam Sebulan dengan Cekap dalam SQL?

DDD
DDDasal
2025-01-17 23:01:09444semak imbas

How to Efficiently Select the First Day of a Month in SQL?

Pilih hari pertama bulan dengan cekap dalam SQL

Mendapatkan semula hari pertama dalam sebulan daripada pembolehubah DateTime yang diberikan ialah tugas biasa dalam operasi pangkalan data. Walaupun kod menggunakan fungsi CAST adalah penyelesaian yang mungkin, ia bukanlah pendekatan yang paling cekap atau elegan.

Penyelesaian yang lebih baik

Untuk memilih hari pertama dalam bulan tersebut, cara yang lebih cekap ialah menggunakan fungsi DATEADD dan DATEDIFF. Kod berikut menunjukkan teknik ini:

<code class="language-sql">SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS StartOfMonth</code>

Arahan:

  • DATEDIFF(month, 0, @mydate) Mengira perbezaan antara pembolehubah DateTime yang diberikan @mydate dan permulaan bulan semasa (iaitu 1 Januari).
  • DATEADD(month, DATEDIFF(month, 0, @mydate), 0) Tambah perbezaan yang dikira kembali ke awal bulan semasa untuk mendapatkan @mydate hari pertama bulan tersebut.

Kaedah ini lebih pantas dan ringkas berbanding kaedah sebelumnya menggunakan fungsi CAST.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Hari Pertama dalam Sebulan dengan Cekap dalam SQL?. 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