SQL Server ile ilgili her şey.

SQL Server’da NText ya da Text Alanındaki Değerlere Group By Yapılması

S

Herkese merhaba,

Bu yazıda size SQL Server’da NText ya da Text alanındaki değerlere Group By yapılması hakkında bilgi vereceğim. SQL Server’da Text ya da NText veri tipine sahip sütunlarda doğrudan Group By komutunu çalıştıramıyoruz. Konu hakkındaki kodları aşağıda görmektesiniz.

--Tablo oluşturulması

CREATE Table Bolumler(
BolumAd TEXT,
BolumKisiSayisi int

)

--Tabloya veri eklenmesi işlemi

INSERT INTO dbo.Bolumler
        ( BolumAd, BolumKisiSayisi )
VALUES  ( 'Konya', -- BolumAd - text
          20  -- BolumKisiSayisi - int
          )

INSERT INTO dbo.Bolumler
        ( BolumAd, BolumKisiSayisi )
VALUES  ( 'Konya', -- BolumAd - text
          10  -- BolumKisiSayisi - int
          )

INSERT INTO dbo.Bolumler
        ( BolumAd, BolumKisiSayisi )
VALUES  ( 'Ankara', -- BolumAd - text
          15  -- BolumKisiSayisi - int
          )

INSERT INTO dbo.Bolumler
        ( BolumAd, BolumKisiSayisi )
VALUES  ( 'İstanbul', -- BolumAd - text
          25  -- BolumKisiSayisi - int
          )


--Sorgumuzu çalıştırma işlemi

SELECT  BolumAd ,
        SUM(BolumKisiSayisi)
FROM    dbo.Bolumler
GROUP BY BolumAd

/*
Msg 306, Level 16, State 2, Line 41
The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.
*/


--Doğru sorgumuz (Cast işlemi yapılarak sorun çözülür)

SELECT  CAST(BolumAd AS NVARCHAR(50)), 
        SUM(BolumKisiSayisi)
FROM    dbo.Bolumler
GROUP BY CAST(BolumAd AS NVARCHAR(50))

Cast işlemi yapmadan yaptığımızda bize bir hata döndürdü. Bu hatayı yukarıda görmektesiniz. BolumAd kısmını cast ederek işlemi yaptığımızda ise doğru şekilde çalıştığını gördük. Dikkat edilmesi gereken nokta ise hem group by kısmında hem de select kısmında cast etmeniz gerekliliği.

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

SQL Server Eğitimleri Kanalına Abone Olun

Yazar Hakkında

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.

Yavuz Selim Kart
SQL Server ile ilgili her şey.

Yazar

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.