Effiziente SQL-Tipps: Konvertieren Sie Monatszahlen in Monatsnamen ohne CASE-Anweisung
In SQL Server werden Monate normalerweise als Zahlen (1, 2, ..., 12) gespeichert, aus Gründen der Lesbarkeit ist es jedoch nützlich, sie als Monatsnamen (Januar, Februar usw.) anzuzeigen. Obwohl es möglich ist, die CASE-Anweisung zu verwenden, gibt es hier eine sauberere Alternative:
Verwenden Sie die Funktionen DateName() und DateAdd() geschickt
Die folgende Abfrage verwendet die Funktionen DateName() und DateAdd():
<code class="language-sql">Select DateName(month, DateAdd(month, @MonthNumber, 0) - 1)</code>
Ausführliche Erklärung des Prinzips:
DateAdd(month, @MonthNumber, 0)
Subtrahiert einen Monat von der angegebenen Monatsnummer (@MonthNumber), um ihn an den nullbasierten Monatsindex in der Funktion DateName() anzupassen. DateName(month)
Extrahieren Sie den Monatsnamen aus dem geänderten Datum. Eine weitere effektive Methode
Eine weitere mögliche Lösung ist:
<code class="language-sql">Select DateName(month, DateAdd(month, @MonthNumber, -1))</code>
Ausführliche Erklärung des Prinzips:
DateAdd(month, @MonthNumber, -1)
Subtrahiert einen Monat von der angegebenen Monatsnummer (@MonthNumber), um ihn an den einsbasierten Monatsindex in der Funktion DateName() anzupassen. DateName(month)
Extrahieren Sie den Monatsnamen aus dem geänderten Datum. Beide Abfragen können Monatszahlen effektiv in entsprechende Monatsnamen umwandeln und gleichzeitig die Verwendung von CASE-Anweisungen vermeiden, wodurch der Code prägnanter und effizienter wird.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Monatszahlen in Monatsnamen in SQL ohne CASE-Anweisungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!