mysql baş harfi büyük verileri listeleme
14
●1.625
- 03-05-2010, 17:09:41Üyeliği durduruldumysql case sensitive olmadigi icin ucwords fonksiyonu select sorgusu yaparken pek bi ise yaramyacaktir anca bütün verileri cektikten sonra php'de ucwords'la filtreleme islemi yapilabilir.SefaCan adlı üyeden alıntı: mesajı görüntüle
- 03-05-2010, 17:13:34Üyeliği durduruldutam emin degilim test edemedigimden ama binnary aramanin olmasi lazim. daha once benzer duymuştum çünkü
- 03-05-2010, 18:15:40Üyeliği durduruldutablo sutunlari binary olmalı yada, kosul olarak SUBSTRING ile buyuk harf aramasi yapilacak sutunun ilk harfi alinip UPPPER ile buyutulup sql icinde binary collate ile cevrilmeli bu kosul ayni sekilde buyuk harf aramasi yapilacak sutunun yine SUBSTRING ile ilk karakteri alinip UPPER ile buyutulmemis parcasi ile denklestirilmeli. Sql calistiginda bu 2 kosul birbirine esit ise buyuk harf ile baslayan veriler listelenecektir.
ornek;
SELECT * FROM tablo WHERE (UPPER(SUBSTRING(sutun, 1, 1)) COLLATE utf8_bin) = SUBSTRING(sutun, 1, 1)
- 03-05-2010, 18:37:26Kimlik doğrulama veya yönetimden onay bekliyor.zaten resimde göründüğü kadarıyla name sütununun yanında zaten küçük harfe çevrilmiş olarak var, bu da kullanılabilir. O sütun adı tam görünmüyor slug sanırım, değilse doğrusuyla değişirsin:
SELECT * FROM `tablo_adi` where binary substring(name,1,1) != substring(slug,1,1)
gibi. Veya karakter seti sorunu varsa
SELECT * FROM `tablo_adi` where substring(name,1,1) in (binary 'M','N','T')
vs. gibi yapılabilir. - 03-05-2010, 19:02:46Üyeliği durdurulduveya en basiti regexp search, tablo boyutuna ve sorgu yogunluguna gore sistem kaynagi kullanimi biraz fazla olabilir;
SELECT * FROM tablo where substr(alan,1,1) REGEXP BINARY '[[:upper:]]'
edit: duzeltme