SQL’de işlemlerimizi daha kolay yapmamamızı sağlayan birçok fonksiyon bulunmaktadır. Çoğu zaman lazım olan bu fonksiyonları tek tek açıklamaya çalışacağım. Umarım faydalı olur.
ascii()
Açıklama: Girilen karakterlerin en solundakinin ascii numarsını döndürür.
Yazılış: int = ASCII ( karakter_girişi )
Örnek:
select ascii(‘ABC’) — 65
select ascii(‘A’) — 65
select ascii(‘Z’) — 65
select ascii(‘a’) — 97
select ascii(‘z’) — 122
select ascii(‘0’) — 48
select ascii(‘9’) — 57
select ascii(‘_’) — 95
select ascii(‘ ‘) — 32
char()
Açıklama: Girilen sayının ascii karakter karşılığını döndürür.
Yazılış: char= CHAR ( sayı )
Örnek:
select char(ascii(‘A’)) — A
select char(65) — A
select char(145) — Sol tek tırnak: ‘
select char(146) — Sağ tek tırnak: ’Not:
SQL: char(13) = satır başı, char(10) = satır atlama.
VB’deki: ‘vbCrLf’ veya Javascript/c#’daki \n gibi
Örnek:
Print ‘Kod listesi: ‘ + char(13) + char(10) + ‘A = Selam 1’ + char(13) + char(10) + ‘B = Selam 2’Sonuç:
Kod listesi:
A = Selam 1
B = Selam 2select nchar(65) — A
select unicode(‘A’) — 65SQL’de ascii listesi almak için aşağıdaki komutu kullanabiliriz:
declare @strValue varchar(255)
declare @intCount int
declare @intCountMax int
set @intCount = 0
set @intCountMax = 255
forloop_begin:
set @strValue = (select (convert(varchar(15),@intCount) + '-' + char( @intCount ) ))
print @strValue
set @intCount = @intCount + 1
if ( @intCount <= @intCountMax ) begin
goto forloop_begin
end
forloop_end:
charindex()
Açıklama: girdiğimiz yazının içinden belirlediğimiz kısmın başlangıç karakterini döndürür, eğer yoksa 0 döner.
Yazılış: int = CHARINDEX ( expression1 , expression2 [ , start_location ] )
expression1 – Aranılacak olan text
expression2 – içinde arama yapılacak text.
Start_location = 0 veya negatif = başlangıç.Örnek :
select charindex( ‘Selam’, ‘Yeniden Selam Herkese’) — 7
select charindex( ‘/’, ‘http://www.ftorun.com/’,8) — 22
difference()
Açıklama: iki soundex değerini karşılaştırıp 1 – 4 arasında bir numara dödürür. Birbirlerine olan benzerliklerine göre 4’e yakın bir değer verir.
Soundex nedir: Bir kelimeden fonetik bir kod cikarma yontemidir. SQL’de SOUNDEX() komutu ile verdiğimizde bize 4 haneli soundex değeri, difference ise iki soundex degerini kiyaslayarak iki kelimenin birbirine ne kadar yakin okundugunu cikarilabilir.
Yazılış:
int = DIFFERENCE ( yazi_1 , yazi_2 )
Örnek:
SELECT SOUNDEX(‘Hello’) — H400
select DIFFERENCE(‘Hello’,’Hello’) — 4SELECT SOUNDEX(‘ankara’) — A526
select DIFFERENCE(‘ankara’,’ankara’) — 4SELECT SOUNDEX(‘ali’) — A400
SELECT SOUNDEX(‘veli’) — V400
select DIFFERENCE(‘ali’,’veli’) — 3SELECT SOUNDEX(‘abcdefg’) — A123
SELECT SOUNDEX(‘tuvwxyz’) — T122
select DIFFERENCE(‘abcdefg’,’tuvwxyz’) — 2 (1 "1" + 1 "2" = 2)SELECT SOUNDEX(‘dog’) — D200
SELECT SOUNDEX(‘dot’) — D300
select DIFFERENCE(‘dog’,’dot’) — 3 (1 "D" ve 2 "0" = 3)select SOUNDEX(‘hakan’) — H250
select SOUNDEX(‘melih’) — M400
select DIFFERENCE(‘hakan’,’melih’) — 1 (Soundex değerlerinden sadece sondaki 0 aynı olduğu için 1.)–Soundex değerlerinin hepsi aynıysa geriye 4 döner.
select SOUNDEX(‘1’) — 0000
select SOUNDEX(‘2’) — 0000
select SOUNDEX(’20’) — 0000
select SOUNDEX(‘100’) — 0000
select DIFFERENCE(‘1′,’2’) — 4
select DIFFERENCE(’20’,’100′) — 4