SQL Server 2005’te Datetime’den Ay ve Yıl Çıkarma

Veritabanları ile çalışırken, genellikle tarih ve saat verilerini belirli bileşenleri çıkarmak için manipüle etme ihtiyacı doğar. SQL Server 2005’te yaygın bir talep, bir datetime değerinden ay ve yıl çekmek ve bunu ‘Oca 2008’ gibi bir dize formatında göstermektir. Bu zorlukla karşılaşıyorsanız, yalnız değilsiniz. Bunu verimli bir şekilde nasıl gerçekleştireceğimizi keşfedelim.

Zorluk

Pek çok yerleşik işlev, örneğin datepart veya convert, istediğiniz çıktı formatını doğrudan sağlamadığını görebilirsiniz. Bu durum, ‘Oca 2008’ formatında ay ve yılı almanın basit bir çözümü olmadığına inanmanıza yol açabilir. Ancak, SQL sözdizimini kullanarak hedefinize ulaşmanın bir yolu vardır.

Çözüm

Bir datetime‘den ay ve yıl’ı çıkarmak ve bunları tek bir biçimlendirilmiş dize haline getirmek için, CONVERT işlevini iki kez kullanarak dize birleştirmeyi gerçekleştirebilirsiniz. İşte çözümün adım adım açıklaması:

Adım 1: CONVERT İşlevini Kullanma

SQL Server’daki CONVERT işlevi, bir veri tipini başka bir türde değiştirmenizi sağlar. Amacımız için datetime değerini bir dizeye dönüştüreceksiniz.

CONVERT(CHAR(4), date_of_birth, 100) 

Bu kod parçası, date_of_birth adlı varsayımsal bir sütundan ay ve yılı çıkartır. Stil 100 bize tam ay adını verir.

Adım 2: Yılı Alın

Yılı çıkarmak için, farklı bir stil ile başka bir CONVERT işlevini kullanın:

CONVERT(CHAR(4), date_of_birth, 120)

Bu, yılı dört haneli formatta (örneğin ‘2008’) verecektir.

Adım 3: Sonuçları Birleştirin

Ay ve yılı ayrı olarak aldıktan sonra, bunları istediğiniz çıktıyı oluşturmak için birleştirebilirsiniz.

SELECT 
  CONVERT(CHAR(4), date_of_birth, 100) + ' ' + CONVERT(CHAR(4), date_of_birth, 120) AS MonthYear
FROM customers

Örnek Sorgu

customers adlı bir tabloda date_of_birth adlı bir datetime sütunundan ay ve yılı elde etmek için tam SQL sorgusunun nasıl görüneceğini aşağıda bulabilirsiniz:

SELECT 
  CONVERT(CHAR(4), date_of_birth, 100) + ' ' + CONVERT(CHAR(4), date_of_birth, 120) AS MonthYear
FROM customers

Ek Kaynaklar

CONVERT işlevi hakkında daha fazla format seçeneği ve anlayış için resmi SQL Server belgelerine göz atın.

Sonuç

SQL Server 2005’te bir datetime‘den ay ve yıl çıkarmak ve biçimlendirmek, CONVERT işlevini etkili bir şekilde nasıl kullanacağınızı bildiğinizde oldukça basittir. Yukarıdaki yöntemle sonuçlarınızı kolayca ay ve yıl bazında gruplandırabilir, tarih tabanlı analizler yapmanıza yardımcı olabilirsiniz.

Artık datetime değerlerinizi ihtiyaç duyduğunuz gibi güvenle alabilir ve formatlayabilirsiniz!