(27/05/2010, 13:52)ahmetbaskesen yazdı: [ -> ]sanirim tam aciklayamadim
örnegin
Ahmet Baskesen
Ahmet Aslan Baskesen
Ahmet & Aka Baskesen
sadece burda Ahmet Baskesenleri nasil ayirt edebilirim herhangi bir fikri olan =)
İlk söylediğinizle bu çok farklı şeyler.. Amacınız hem ilk kelimesi hem de ikinci kelimesi büyük harf olan isimleri listelemekse -bir önceki cevabınızdan bunu anladım- bu sorguyu kullanabilirsiniz..:
select alan_adi
from tablo_adi
where (((
asc(left([alan_adi],1)))<91) or (asc(left([alan_adi],1)))>198 and
(
asc(left([alan_adi],1))) not in (231,252,246)) and
((
asc(left(right([alan_adi],(len([alan_adi])-instr(1,[alan_adi]," "))),1)))<91 or
(
asc(left(right([alan_adi],(len([alan_adi])-instr(1,[alan_adi]," "))),1)))>198 and
(
asc(left(right([alan_adi],(len([alan_adi])-instr(1,[alan_adi]," "))),1))) not in (231,252,246))
Son cevabınızdaki gibi sadece ilk kelimenin ve de son kelimenin büyük-küçük harf durumuna bakıp sadece büyük harf olanların listelenmesi için bu sorguyu kullanabilirsiniz..:
Not: Uzun bir sorgu oldu, şartlarda sıkıntı olabilir.. Olursa da bildirin üzerinde çalışalım..:
select alan_adi
from tablo_adi
where (((
asc(left([alan_adi],1)))<91) or (asc(left([alan_adi],1)))>198 and
(
asc(left([alan_adi],1))) not in (231,252,246)) and
((
asc(left(right([alan_adi],len([alan_adi])-instrrev([alan_adi]," ")),1)))<91 or
(
asc(left(right([alan_adi],len([alan_adi])-instrrev([alan_adi]," ")),1)))>198 and
(
asc(left(right([alan_adi],len([alan_adi])-instrrev([alan_adi]," ")),1))) not in (231,252,246))
Gerçi siz şunu da istemiş olabilirsiniz: (daha açık yazmanız gerekiyordu demekki ;) )
"Sadece iki kelimeden oluşan ve de kelimelerin başlangıcı büyük harf olanları listeleyeyim.."
Bu durumda sorgu bu olur..:
select alan_adi
from tablo_adi
where (((
asc(left([alan_adi],1)))<91) or (asc(left([alan_adi],1)))>198 and
(
asc(left([alan_adi],1))) not in (231,252,246)) and
((
asc(left(right([alan_adi],(len([alan_adi])-instr(1,[alan_adi]," "))),1)))<91 or
(
asc(left(right([alan_adi],(len([alan_adi])-instr(1,[alan_adi]," "))),1)))>198 and
(
asc(left(right([alan_adi],(len([alan_adi])-instr(1,[alan_adi]," "))),1))) not in (231,252,246))
and
instrrev([alan_adi]," ")=instr(1,[alan_adi]," ")