SQL Server’da NText ya da Text Alanındaki Değerlerin Replace Edilmesi
Herkese merhaba,
Bu yazıda size SQL Server’da NText ya da Text alanındaki değerlerin Replace edilmesi hakkında bilgi vereceğim. SQL Server’da Text ya da NText veri tipine sahip sütunlarda REPLACE komutunu işletemiyoruz. Konu hakkındaki kodları aşağıda görmektesiniz.
--Tablo oluşturma CREATE TABLE Tablomuz( Deger1 NTEXT, Deger2 TEXT ) --Tabloya değer ekleme INSERT INTO dbo.Tablomuz ( Deger1,Deger2 ) VALUES ('Burası ne kadar uzun bir değer alıyor', 'Kısa deger' ) --Tabloyu listeleme SELECT * FROM dbo.Tablomuz --Replace etme işlemi (Hatalı ve çalışmıyor) SELECT REPLACE(Deger1, 'uzun','kısa') FROM dbo.Tablomuz SELECT REPLACE(Deger2, 'Kısa','uzun') FROM dbo.Tablomuz /* Msg 8116, Level 16, State 1, Line 21 Argument data type ntext is invalid for argument 1 of replace function. Msg 8116, Level 16, State 1, Line 22 Argument data type text is invalid for argument 1 of replace function. */ --Replace etme işlemi (Doğru çalışıyor) SELECT CAST(REPLACE(CAST(Deger1 AS NVARCHAR(MAX)), 'uzun', 'kısa') AS NTEXT) FROM Tablomuz SELECT CAST(REPLACE(CAST(Deger2 AS NVARCHAR(MAX)), 'Kısa', 'uzun') AS TEXT) FROM Tablomuz
Replace işlemini yaparken Cast ile Nvarchar(max) haline çevirip sonrasında tekrar Ntext ya da Text değerine çeviriyoruz. Sonuç olarak başarılı bir şekilde Replace işlemi yapılmış oluyor.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.