logo
Welcome Guest! To enable all features please Giriş or Kayıt.

Bildirim

Icon
Error

Ayarlar
Son mesaja git Go to first unread
ridvanozayas  
#1 Gönderildi : 10 Aralık 2014 Çarşamba 21:54:49(UTC)
ridvanozayas

Sıralama: Administration

Gruplar: Registered
Katılan: 18.08.2014(UTC)
Mesajlar: 5
Turkey
Konum: istanbul

4 Mesajına Toplam 5 Kere Teşekkür Edildi.
Merhabalar Arkadaşlar,
Sql string fonksiyonlarından en yaygın kullanılanlardan olan CHARINDEX, LEN, SUBSTRING fonksiyonlarını örneklerden giderek işleyeceğiz.

Örneğin email listemiz var hangi tip mail olduklarını ayrı bir kolona basmak istiyoruz.@ işaretinden sonraki karakterleri almak istiyoruz.

a

Öncelikle CHARINDEX fonksiyonunu kullanarak @ işaretinin kaçıncı karakterden başladığını buluyoruz +1 i @ işaretinden sonraki kısmı alacağımız için koyduk.

SELECT CHARINDEX('@', EmailAddress)+1 FROM AdventureWorks2012.Person.EmailAddress

'@' işareti hangi karakteri arayacağını ,EmailAddress ise hangi kolonda arayacağını gösteriyor.

SELECT CHARINDEX('@', 'ali@gmail.com') sonuç 4 döner çünkü 'ali@gmail.com' srtinginde 4. Sırada.

a

Şimdide LEN fonksiyonunu kullanacağız
Buda satırın uzunluğunu dönürür.

a


Son olarak ta SUBSTRING
SUBSTRING(String,BaslangicKonumu,BitişKonumu)

Aşağıdaki örneğimize uygularsak
ilk parametre olan String e EmailAdress kolonunu veriyoruz çünkü işlemi bu kolonda yapacağız.
İkinci parametre olan Başlangıç konumunu daha önce CHARINDEX kullanarak bulduğumuz @ işaretinden sonraki karakterin başlangıç konumunu veriyoruz.
Üçüncü ve son olarak ta LEN fonksiyonu kullanarak kolonların son karakterdeki konumunu bulup @ ten sonra sonuna kadar olan string i alıyoruz.


SELECT SUBSTRING(EmailAddress, CHARINDEX('@', EmailAddress)+1, LEN(EmailAddress)) FROM [AdventureWorks2012].[Person].[EmailAddress]

a
thanks ridvanozayas: 2 Kişi mesajın için Teşekkür Etti.
Sipahi 10.12.2014(UTC) tarihinde, diaboli 11.12.2014(UTC) tarihinde


Bu konudaki kullanıcılar
Guest (2)
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.