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

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

Herkese merhaba. Bu yazıda SQL Server’da ay numarasını ay adına dönüştürmek ile ilgili bilgi vermeye çalışacağım.

SQL Server’da bazı durumlarda ay numarasını ay adına dönüştürmek isteyebilirsiniz.

Tarihler ve saatlerle çalışmak SQL Server’da yaygın bir işlemdir. Ayların tam sayı olarak saklandığı (1’den 12’ye kadar) ve bunları ilgili ay adlarına (“Ocak”tan “Aralık”a) dönüştürmeniz gereken bir durumla karşılaşabilirsiniz. Bu işlem, raporlar oluşturmak veya kullanıcılar için daha okunabilir veri analizi gerçekleştirmek için oldukça yararlı olabilir.

Aşağıdaki kodları kullanarak sizler de bu işlemi rahatlıkla yapabilirsiniz.

1- ) Yöntem 1

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

2- ) Yöntem 2

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

3-) Yöntem 3

DECLARE @AyNumarasi INT
SET @AyNumarasi = 1 
SELECT FORMAT(DATEFROMPARTS(1900, @AyNumarasi, 1), 'MMMM', 'en-US') AS Aydi

4- ) Yöntem 4

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;

5- ) Yöntem 5

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('<x>' + REPLACE(@Aylar, ' ', '</x><x>') + '</x>' AS XML).value('/x[sql:variable("@AyNumarasi")][1]', 'NVARCHAR(MAX)') AS value
) AS AyIsimleri;

SELECT @AyAdi AS AyAdi;

6- ) Yöntem 6

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;

7- ) Yöntem 7

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

8- ) Yöntem 8

DECLARE @AyNumarasi INT = 1;

SELECT FORMAT(DATEADD(MONTH, @AyNumarasi - 1, '19000101'), 'MMMM') AS AyAdi

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

20 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!