Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menukar Nombor Bulan kepada Nama Bulan dalam Pelayan SQL Tanpa Penyata KES?

Bagaimana untuk Menukar Nombor Bulan kepada Nama Bulan dalam Pelayan SQL Tanpa Penyata KES?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-18 19:06:15935semak imbas

How to Convert Month Numbers to Month Names in SQL Server Without CASE Statements?

SQL Server: Penukaran Nombor Bulan dengan Cekap kepada Nama

Pangkalan data SQL Server selalunya menyimpan bulan sebagai nilai berangka (1 untuk Januari, 2 untuk Februari, dll.). Artikel ini menunjukkan cara menukar perwakilan berangka ini kepada nama bulan yang sepadan tanpa menggunakan penyata CASE yang menyusahkan.

Memanfaatkan Fungsi DATENAME

Kunci kepada penyelesaian ringkas terletak pada fungsi DATENAME terbina dalam SQL Server. Fungsi ini mengekstrak bahagian tertentu tarikh, termasuk nama bulan.

Penyelesaian

Pertanyaan SQL berikut dengan elegan mengendalikan penukaran:

<code class="language-sql">SELECT DATENAME(MONTH, DATEADD(MONTH, @MonthNumber, 0) - 1)</code>

Penjelasan:

  • DATEADD(MONTH, @MonthNumber, 0): Ini menambahkan input @MonthNumber (mewakili bulan) pada tarikh asas '0' (yang mewakili 1 Januari 1900). Ini dengan bijak meletakkan kita pada hari pertama bulan sasaran.
  • - 1: Menolak satu hari memastikan DATENAME mengembalikan nama bulan yang dimaksudkan dengan betul, mengelakkan ralat luar demi satu.
  • DATENAME(MONTH, ...): Akhir sekali, DATENAME mengeluarkan nama bulan daripada tarikh yang dikira.

Pendekatan Alternatif:

Alternatif yang sama berkesan ialah:

<code class="language-sql">SELECT DATENAME(MONTH, DATEADD(MONTH, @MonthNumber, -1))</code>

Ini menambah terus nombor bulan pada tarikh sebulan sebelum 1 Januari, mencapai hasil yang sama dengan cara yang lebih padat sedikit.

Cara Penggunaan:

Cuma gantikan @MonthNumber dengan nilai bulan berangka (1-12). Pertanyaan kemudiannya akan mengembalikan nama bulan yang sepadan. Contohnya:

<code class="language-sql">SELECT DATENAME(MONTH, DATEADD(MONTH, 5, 0) - 1); -- Returns 'May'</code>

Atas ialah kandungan terperinci Bagaimana untuk Menukar Nombor Bulan kepada Nama Bulan dalam Pelayan SQL Tanpa Penyata KES?. 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