SQL Server’da The Data Types Ntext and Varchar Are Incompatible in The Equal to Operator Hatası
Herkese merhaba,
Bu yazıda sizlere SQL Server’da the data types ntext and varchar are incompatible in the equal to operator hatasından bahsedeceğim.
Bu hata NText veri tipi ile oluşturulmuş alanlarda where şartının eşittir operatörü ile kullanılarak arama yapılması sırasında ortaya çıkan bir hatadır. Konu ile ilgili örneği aşağıda görmektesiniz.
--Database oluşturma CREATE DATABASE Ornek GO --Database seçilmesi USE Ornek GO --Tablo oluşturulması CREATE TABLE TestTablo (Yazim NTEXT) GO --Tabloya veri aktarımı INSERT INTO dbo.TestTablo ( Yazim ) VALUES ( 'Yavuz Selim Kart SQL Server' -- Yazim - ntext ) --Hatalı sorgu SELECT * FROM dbo.TestTablo WHERE Yazim='Yavuz Selim Kart SQL Server' --Hatalı sorgunun çözümü SELECT Yazim FROM TestTablo WHERE CONVERT(NVARCHAR(MAX), Yazim) = N'Yavuz Selim Kart SQL Server'
Burada where şartı ile arama işlemi yapınca hata aldık. Ntext veri tipinde böyle bir hata alınıyor. Hatayı veri tipini Nvarchar(max)’a çevirerek çözdük. Ya da tablomuzdaki bu alanın veri tipini değiştirerek de çözebiliriz.
ALTER TABLE TestTablo ALTER COLUMN Yazim NVARCHAR(MAX) GO --Bu şekilde doğru çalışmış oldu. SELECT * FROM dbo.TestTablo WHERE Yazim='Yavuz Selim Kart SQL Server'
Ya da aşağıdaki gibi Like Operatörünü kullanarak da bu hatayı çözebiliriz.
SELECT * FROM TestTablo WHERE Yazim LIKE 'Yavuz Selim Kart SQL Server' GO
Bu şekilde çözümleri mevcuttur.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.