Karakter Fonksiyonları
String (karakter) alanları işlemek için yaygın kullandığımız fonksiyonlar bu alana girer. Transact-SQL dilinde kullanılan bazı karakter fonksiyonları şunlardır:


1. ASCII
2. CHAR
3. CHARINDEX
4. DIFFERENCE
5. LEFT
6. LEN
7. LOWER
8. LTRIM
9. NCHAR
10. REPLICATE
11. REVERSE
12. SUBSTRING
13. QUOTENAME
14. STUFF
15. REPLACE
16. STR
17. SOUNDEX
18. PATINDEX
19. SPACE
20. RIGHT
21. RTRIM
22. UPPER
23. UNICODE


ASCII : Bir karakter ifadenin en soldaki değerinin ASCII kodunu döndürür.
Kullanımı: ASCII ( karakterifade)
Karekter ifade char ya da varchar türündedir.
Döndürdüğü tür: Int
Örnek: Bizim Ev cümlesinin bütün karakterlerinin ASCII değerini döndürür:
SET TEXTSIZE 0SET NOCOUNT ON-- değişkenoluştur.DECLARE @konumint, @karakterchar(15)-- değişkenlere ilk değerver.SET @konum= 1SET @karakter= 'BizimEv'WHILE @konum<= DATALENGTH(@karakter) BEGIN SELECT ASCII(SUBSTRING(@karakter, @konum, 1)),CHAR(ASCII(SUBSTRING(@karakter, @konum, 1))) SET @konum= @konum + 1 ENDSET NOCOUNT OFFGO CHARINDEX
Bir karakter dize içinde belirtilen bir ifadenin (karakterin) başlangıç konumunu döndürür.
Kullanımı: CHARINDEX ( ifade1, ifade2[ , başlangıç konumu] )


İfade1: aranacak karakterleri belirtir.
İfade2: İfade1'deki karakterlerin aranacağı karakterleri belirtir.
Başlangıç konumu ise aramanın başlanacağı konumu belirtir.
Döndürdüğü tür: Int
İfadelerden birisi **** ise CHARINDEX fonksiyonu **** değerini döndürür. İfade1, İfade2 içinde bulunamazda 0 değeri döner.
Örnek: ADI alanında BOYASI sözcüğünün başladığı konumu döndürür.
SELECT CHARINDEX('BOYASI', adi)FROM urun-- aramaiçinbaşlangıkçkonumubelirtmekister****ELECT CHARINDEX('BOYASI', adi, 5)FROM urun Yalnızca adlar listesi: select left (adi,charindex(' ', adi)) from cariana
LEFT
Bir karakter dizesinin sol taraftan belirtilen sayı kadar keser.
Kullanımı: LEFT ( karakter dize, tarmsayı)


Örnek: Adların soldan beş karakteri:
USE ornekGOSELECT LEFT(adi, 5) FROM carianaORDER BY koduGO LEN
Dize verinin uzunluğunu döndürür.
Kullanımı: LEN ( karakter dize)


Örnek: Adı alanının uzunluğu:
SELECT LEN(adi) AS 'Uzunluk'FROM cariana use ornek
select substring (adi,charindex(' ',adi)+1,(len(adi)-charindex(' ',adi))) from cariana
-- soyadını ayırmak
LTRIM
Önündeki boşlukları siler.
Kullanımı: LTRIM ( karakter dize)


RIGHT Belirtilen dizenin sağ tarafından keser.
Kullanımı: RIGHT ( karakter dizesi, tamsayı)


Arguments


Örnek: Adı alanını sağlan 10 karakteri:


SELECT RIGHT(adi, 10) FROM cariana RTRIM Karakter dizesinin arkasındaki boşlukları kaldırır.
Kullanımı: RTRIM ( karakter dize)


Örnek: Bir alan güncelleme: update deneme
set alan1 = rtrim(alan1) + rtrim('a')
STUFF Belirtilen uzunluktaki karakterleri siler ve yerine belirtilen diğer karakterleri ekler.
Syntax : STUFF ( karaker dize, başlangıç, uzunluk, karakter dize)


Örnek: use ornekSELECT STUFF(tel, 7, 1, '8') from cariana-- telefonnumarasında 7 karakteri 9 iledeğiştirmek SUBSTRINGBir karakter dizesinin içinden belli karakterleri seçer.
Kullanımı: SUBSTRING ( karakter dize, başlangıç, uzunluk)


Örnek: Adı alanının içinde üçüncü karakter başlayım 4 tane karakteri döndürmek:


SELECT SUBSTRING(adi, 3, 4)FROM carianaAdı soyadıalanındansoyadınıçekmek: select substring (adi,charindex(' ',adi)+1,(len(adi)-charindex(' ',adi))) from cariana