String Parçalama konusunda yardım (Çözüldü)

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

String Parçalama konusunda yardım (Çözüldü)

Mesaj gönderen adelphiforumz »

S.A.

MS SQL üzerinde bir string'i içerisinde istedğim bir karakterin yerini sağdan doğru kaçıncı karakter olduğunu nasıl bulabilirim.
Buradaki amaç sağdan doğru ilk gördüğüm soru işaretine kadar olan kısmı almak olacak

Örnek
String1 "a?bb?ccc?ddd.ee" -> elde edilmesi gereken sonuç 9
String2 "aaa?bb?ccc?xxxxx.ee" -> elde edilmesi gereken sonuç 11
String3 "aa?b?c?ddddddd?yyyyyyy.eeeee" -> elde edilmesi gereken sonuç 15

yardımcı olabileceklere şimdiden teşekkürler
En son adelphiforumz tarafından 09 Mar 2012 10:26 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Re: String Parçalama konusunda yardım

Mesaj gönderen m_ekici »

stringi ters çevirerek yapabilirsin.

Kod: Tümünü seç

select len ('a?bb?ccc?ddd.ee')-charindex('?', REVERSE ( 'a?bb?ccc?ddd.ee' )) +1
select len ('aaa?bb?ccc?xxxxx.ee')-charindex('?', REVERSE ( 'aaa?bb?ccc?xxxxx.ee' ))+1
select len ('aa?b?c?ddddddd?yyyyyyy.eeeee')-charindex('?', REVERSE ( 'aa?b?c?ddddddd?yyyyyyy.eeeee' ))+1
9
11
15
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: String Parçalama konusunda yardım (Çözüldü)

Mesaj gönderen adelphiforumz »

Öncelikle yardım için teşekkürler
sizin yazdığıonızdan sonra bende aşağıdaki şekilde biraz değişiklik yaparak istediğimi elde ettim belki başka birininde işine yara

SELECT REVERSE(SUBSTRING(REVERSE('a?bb?ccc?ddd.ee'), 1, CHARINDEX('?', REVERSE('a?bb?ccc?ddd.ee'))-1))
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Cevapla