SQL Server’da WordWrap Fonksiyonu Yazmak
Herkese merhaba,
Bu yazıda SQL Server’da WordWrap fonksiyonu yazmak ile ilgili bilgi vermeye çalışacağım.
SQL Server’da bazı durumlarda WordWrap gibi fonksiyona ihtiyacınız olabilir. WordWrap bir metni belli bir uzunlukta keser kalanı yeni bir satırda gösterir. Süreç bu şekilde ilerler.
Aşağıdaki fonksiyonu kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.
CREATE FUNCTION [dbo].[WrapText]
(
@Metin NVARCHAR(MAX),
@Uzunluk INT
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @Sonuc AS NVARCHAR(MAX);
SELECT @Sonuc = CASE
WHEN @Sonuc IS NULL THEN
SUBSTRING(@Metin, numara.Numara - @Uzunluk + 1, @Uzunluk)
ELSE
@Sonuc + CHAR(13) + CHAR(10) + SUBSTRING(@Metin, numara.Numara - @Uzunluk + 1, @Uzunluk)
END
FROM
(
SELECT Numara = ROW_NUMBER() OVER (ORDER BY name)
FROM sys.all_objects
) numara
WHERE numara.Numara <= LEN(@Metin) + @Uzunluk - 1
AND numara.Numara % @Uzunluk = 0;
RETURN @Sonuc;
END;
--Kullanımı
PRINT dbo.WrapText('abcdefghijklmnopqrstuvwxyz',5)
Yukarıdaki fonksiyonu oluşturup kodu çalıştırınca aşağıdakine benzer bir sonuç göreceksiniz.
Görüldüğü üzere girilen metin belli bir uzunlukta kesilmiş ve alt satıra geçmiş oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.