22 Nisan 2018 Pazar

Nchar fonksiyonu

Nchar fonksiyonu sql server içerisinde unicode karakterleri olarak değerlendirir. Her unicode karakterin sayısal taklit edilemeyen bir değeri vardır. Bunu harflerin tc kimlik numarası gibi düşünebiliriz. Tüm dünyada tüm karakterlerin tekil birer unicode değerleri vardır.  Unicode kullanımı sonucunda tam sayı geri döndürür. Unicode normal alfabedeki karakterler değildir. Sql fonksiyonlar içerisinde önemli bir fonksiyondur.


Nchar fonksiyonu kullanımı


NCHAR (tamsayı)


 


Geri dönüş tipi desteklemediği karakter olursa nchar (1) eğer desteklediği unicode karakterlerinden ise nvarchar (2) geri dönüşünü sağlar.


Örnek Kullanım


DECLARE @nstring nchar(8);

SET @nstring = N’Sqlogren.com’;

SELECT UNICODE(SUBSTRING(@nstring, 2, 1)),

NCHAR(UNICODE(SUBSTRING(@nstring, 2, 1)));

GO


 


———– –


113           q


(1 row(s) affected)


 


 


Aşağıdaki örnek, karakter sayısını, Unicode karakterini ve sqlogren kelimesindeki her karakterin UNICODE değerini yazdırmak için SUBSTRING, UNICODE, CONVERT ve NCHAR işlevlerini kullanır.


 


 


— @position değişkeni şu anda karakterin konumunu tutar

— işlenmekte olan. @nstring değişkeni Unicode karakteridir

— işlenecek dize.

DECLARE @position int, @nstring nchar(9);

— Geçerli konum değişkenini ilk karakterde sıfırla

— dize.

SET @position = 1;

— Karakter dizisi değişkenini işlemek için dizeye sıfırlayın.

— Dizenin başlamasından önce bir N olduğuna dikkat edin. Bu

— N’yi izleyen verilerin Unicode verileri olduğunu belirtir.

SET @nstring = N’sqlogren’;

— Bulunduğunuz dizenin konumunun karakter numarasını yazdırın,

— işlediğiniz gerçek Unicode karakteri ve UNICODE

— Bu özel karakter için değer.

PRINT ‘Character #’ + ‘ ‘ + ‘Unicode Character’ + ‘ ‘ + ‘UNICODE Value’;

WHILE @position <= DATALENGTH(@nstring)

BEGIN

SELECT @position,

NCHAR(UNICODE(SUBSTRING(@nstring, @position, 1))),

CONVERT(NCHAR(17), SUBSTRING(@nstring, @position, 1)),

UNICODE(SUBSTRING(@nstring, @position, 1))

SELECT @position = @position + 1

END;

GO


Sonuç


Character # Unicode Character UNICODE Value


———– —- —————– ———–

1 s s 115


(1 row(s) affected)


———– —- —————– ———–

2 ø q 113


(1 row(s) affected)


———– —- —————– ———–

3 l l 108


(1 row(s) affected)


———– —- —————– ———–

4 o o 111


(1 row(s) affected)


———– —- —————– ———–

5 g g 103


(1 row(s) affected)


———– —- —————– ———–

6 r r 114


(1 row(s) affected)


———– —- —————– ———–

7 e e 101


(1 row(s) affected)


———– —- —————– ———–

8 n n 110


(1 row(s) affected)


———– —- —————– ———–

9 n n 110


(1 row(s) affected)



Nchar fonksiyonu

Hiç yorum yok:

Yorum Gönder