Yöntem 1: DATENAME ve DATEADD Kullanımı
Yöntem 2: SUBSTRING ile Dönüştürme
Yöntem 3: FORMAT Fonksiyonu
Yöntem 4: CASE Yapısı ile Kontrol
Yöntem 5: XML Kullanarak Ay Adı Bulma
Yöntem 6: CHOOSE ve SUBSTRING Kullanımı
Yöntem 7: CHOOSE ile Basit Seçim
Yöntem 8: FORMAT ve DATEADD Kombinasyonu

SQL Server’da Ay Numarasını Ay Adına Dönüştürmek

SQL Server’ı kullanırken, ay numaralarının ay adlarına dönüştürülmesi bazı durumlarda işinizi kolaylaştırabilir. Bu yazıda, ay numarasının ay adına dönüştürülmesi için kullanabileceğiniz farklı SQL sorgularını paylaşacağız.

Yöntem 1: DATENAME ve DATEADD Kullanımı

DECLARE @AyNumarasi INT
SET @AyNumarasi = 1
SELECT
    DATENAME(MONTH, DATEADD(MONTH, @AyNumarasi, -1)) AS AyAdi

Yöntem 2: SUBSTRING ile Dönüştürme

DECLARE @AyNumarasi INT
SET @AyNumarasi = 1
SELECT SUBSTRING('OCA ŞUB MAR NIS MAY HAZ TEM AGU EYL EKI KAS ARA ',
(@AyNumarasi * 4) - 3, 3) AS AyAdi

Yöntem 3: FORMAT Fonksiyonu

DECLARE @AyNumarasi INT
SET @AyNumarasi = 1
SELECT FORMAT(DATEFROMPARTS(1900, @AyNumarasi, 1), 'MMMM', 'tr-TR') AS AyAdi

Yöntem 4: CASE Yapısı ile Kontrol

DECLARE @AyNumarasi INT = 13;

SELECT
    CASE
        WHEN @AyNumarasi = 1 THEN 'Ocak'
        WHEN @AyNumarasi = 2 THEN 'Şubat'
        WHEN @AyNumarasi = 3 THEN 'Mart'
        WHEN @AyNumarasi = 4 THEN 'Nisan'
        WHEN @AyNumarasi = 5 THEN 'Mayıs'
        WHEN @AyNumarasi = 6 THEN 'Haziran'
        WHEN @AyNumarasi = 7 THEN 'Temmuz'
        WHEN @AyNumarasi = 8 THEN 'Ağustos'
        WHEN @AyNumarasi = 9 THEN 'Eylül'
        WHEN @AyNumarasi = 10 THEN 'Ekim'
        WHEN @AyNumarasi = 11 THEN 'Kasım'
        WHEN @AyNumarasi = 12 THEN 'Aralık'
        ELSE 'Geçersiz Ay Numarası'
    END AS AyAdi;

Yöntem 5: XML Kullanarak Ay Adı Bulma

DECLARE @Aylar NVARCHAR(MAX) = 'OCA ŞUB MAR NIS MAY HAZ TEM AGU EYL EKI KAS ARA';
DECLARE @AyNumarasi INT = 1;
DECLARE @AyAdi NVARCHAR(3);
SELECT
    @AyAdi = TRIM(value)
FROM (
    SELECT
        CAST('' + REPLACE(@Aylar, ' ', '') + '' AS XML).value('/x[sql:variable("@AyNumarasi")][1]', 'NVARCHAR(MAX)') AS value
) AS AyIsimleri;

SELECT @AyAdi AS AyAdi;

Yöntem 6: CHOOSE ve SUBSTRING Kullanımı

DECLARE @Aylar NVARCHAR(MAX) = 'OCAKŞUBATMARTNİSANMAYISHAZİRANTEMMUZAĞUSTOSETEKİMKASIMARALIK';
DECLARE @AyNumarasi INT = 1;
DECLARE @AyAdi NVARCHAR(20);
SET @AyAdi = CHOOSE(@AyNumarasi,
    SUBSTRING(@Aylar, 1, 4),
    SUBSTRING(@Aylar, 5, 5),
    SUBSTRING(@Aylar, 10, 4),
    SUBSTRING(@Aylar, 14, 6),
    SUBSTRING(@Aylar, 20, 4),
    SUBSTRING(@Aylar, 24, 7),
    SUBSTRING(@Aylar, 31, 5),
    SUBSTRING(@Aylar, 36, 7),
    SUBSTRING(@Aylar, 43, 5),
    SUBSTRING(@Aylar, 48, 4),
    SUBSTRING(@Aylar, 52, 5),
    SUBSTRING(@Aylar, 57, 6)
);

SELECT @AyAdi AS AyAdi;

Yöntem 7: CHOOSE ile Basit Seçim

SELECT CHOOSE(
1,
'Ocak',
'Şubat',
'Mart',
'Nisan',
'Mayıs',
'Haziran',
'Temmuz',
'Ağustos',
'Eylül',
'Ekim',
'Kasım',
'Aralık'
) AS AyAdi;

Yöntem 8: FORMAT ve DATEADD Kombinasyonu

DECLARE @AyNumarasi INT = 1;
SELECT FORMAT(DateAdd(MONTH, @AyNumarasi - 1, '19000101'), 'MMMM', 'tr-TR') AS AyAdi;

Bu yöntemlerle ay numaralarının SQL Server’da ay adlarına dönüştürülmesini kolayca yapabilirsiniz. Hangi yöntemin sizin için en uygun olduğunu belirlemek için ihtiyacınız olan duruma göre seçim yapabilirsiniz.

Herkese çalışma hayatında ve yaşamında başarılar ve kolaylıklar dilerim!

257 Kez Okundu