SQL Server’da Whitespace Gösteren Fonksiyon
Herkese merhaba,
Bu yazıda SQL Server’da whitespace gösteren fonksiyon hakkında bilgi vermeye çalışacağım.
SQL Server’da bazı durumlarda whitespace tespiti yapma ihtiyacı olabilir.
İlk olarak whitespace nedir onu öğrenelim. Whitespace ifadesi Türkçe’de beyaz boşluk olarak çevrilebilir. Anlamı da sanılanın aksine sadece space karakteri kullanılarak elde edilen boşluk değil; aynı zamanda escape karakterler ile elde edilen \n ve \t boşlukları da birer whitespace’tir.
Aşağıdaki fonksiyonu kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.
CREATE FUNCTION dbo.fn_WhiteSpace_Goster
(
@Yazi VARCHAR(8000)
)
RETURNS VARCHAR(8000)
AS
BEGIN
DECLARE @WhiteSpaceGoster VARCHAR(8000);
SET @WhiteSpaceGoster = @Yazi;
SET @WhiteSpaceGoster = REPLACE(@WhiteSpaceGoster, CHAR(32), '[?]');
SET @WhiteSpaceGoster = REPLACE(@WhiteSpaceGoster, CHAR(13), '[CR]');
SET @WhiteSpaceGoster = REPLACE(@WhiteSpaceGoster, CHAR(10), '[LF]');
SET @WhiteSpaceGoster = REPLACE(@WhiteSpaceGoster, CHAR(9), '[TAB]');
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(1), '[SOH]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(2), '[STX]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(3), '[ETX]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(4), '[EOT]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(5), '[ENQ]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(6), '[ACK]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(7), '[BEL]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(8), '[BS]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(11), '[VT]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(12), '[FF]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(14), '[SO]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(15), '[SI]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(16), '[DLE]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(17), '[DC1]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(18), '[DC2]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(19), '[DC3]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(20), '[DC4]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(21), '[NAK]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(22), '[SYN]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(23), '[ETB]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(24), '[CAN]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(25), '[EM]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(26), '[SUB]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(27), '[ESC]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(28), '[FS]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(29), '[GS]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(30), '[RS]')
-- SET @WhiteSpaceGoster = REPLACE( @WhiteSpaceGoster, CHAR(31), '[US]')
RETURN (@WhiteSpaceGoster);
END;
--Kullanımı
SELECT dbo.ShowWhiteSpace('Yavuz ')
Fonksiyonu oluşturup yukarıdaki kodu çalıştırdığınızda aşağıdaki sonucu göreceksiniz.
Burada TAB tuşuna basmıştım. TAB tuşuna bastığımı fonksiyon bana göstermiş oldu.
Görüldüğü üzere whitespace tespitini yapmış olduk.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.