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.

SQL Server Eğitimleri Kanalına Abone Olun

Şunlar makaleler de hoşunuza gidebilir

Ads Blocker Image Powered by Code Help Pro
Reklam Eklentisi Kullanıyorsunuz

Lütfen bizlere destek için reklam eklentisi olmadan sitemizi ziyaret edin.

Şimdiden teşekkür ederiz.