mysql de verinin bir kısmı çekmek – SUBSTR()
Özellikle WordPress gibi sistemler, veri tabanında bulunun uzun uzun yazıların bir kısmını özet olarak gösterirler. Veritabanınaki tüm veriyi çekip bunu php ile kırpmak ta mümkün tabi . Eğer veri uzunsa bu ciddi performans kaybına sebep olacaktır.
Gelelim mysql de verinin bir kısmını almamızı sağlayan fonksiyona
SUBSTR(tabloadi, baslangicKarakter, bitisKarekter)
sitemde kullandığım örnek bir sql sorgusu şu şekile
$sql =”SELECT `galibarda_gonderiId`,`galibarda_gonderiYazarId`,`galibarda_gonderiBaslik`,
`galibarda_gonderiUrl`,SUBSTR( `galibarda_gonderiIcerik` , 1, 10 )FROM `galibarda_gonderi` “.’ WHERE ‘.ONEK.”gonderiTuru = ‘”.$gonderiTuru.”‘ ” ;
bu kod gonderilerin icerik sutunundan 1 den 10 uncu karaktere kadar olan kısmını alıyor..
Diğer bazı Mysql Fonksiyonları ise şu şekilde
Tablo kaynak : http://turgaysahtiyan.com/
| Function | Açıklama | Kullanım | Sonuç |
| ASCII | Verilen karakterin ascii karşılığını verir. | ASCII(‘D’) | 68 |
| CHAR | Verilen ascii kodun char karşılığını verir. | CHAR(68) | D |
| CHARINDEX | Verilen ilk string in ikinci string de ki başlama posizyonunu verir. Bulamazsa 0 döndürür. | CHARINDEX(‘turgay’, ‘Naber turgay sahtiyan’) | 7 |
| LEFT | Verilen string in baştan verilen karakter kadar olan kısmını döndürür. | LEFT(‘turgay’,2) | tu |
| LEN | Verilen string in uzunluğunu verir. | LEN(‘turgay’) | 6 |
| LOWER | Verilen string i küçük harflere döndürür. | LOWER(‘TuRGaY’) | turgay |
| LTRIM | Verilen string in solunda ki boşlukları siler. | LTRIM(‘ turgay’) | turgay |
| REPLACE | String değiştirmek için kullanılır. | REPLACE(‘turgay’,'rg’,'aa’) | tuaaay |
| REPLICATE | Verilen string i verdiğiniz sayı kadar yanyana yazar. | REPLICATE(’1′,3) | 111 |
| REVERSE | Verilen string i ters çevirir. | REVERSE(‘turgay’) | yagrut |
| RIGHT | Verilen string in sondan verilen karakter kadar olan kısmını döndürür. | RIGHT(‘turgay’,2) | ay |
| RTRIM | Verilen string in sağında ki boşlukları siler. | LTRIM(‘turgay ‘) | turgay |
| SPACE | Verilen sayı kadar boşluk karakteri döndürür. | ‘turgay’+ space(2)+ ‘sahtiyan’ | turgay sahtiyan |
| STR | Verilen double sayıyı string e dönüştürmeye yarar. 3 parametresi vardır.1.double sayı,2.string in toplam uzunluğu,3.decimal kısmın uzunluğu | STR(123.45, 6, 1) | 123.5 |
| STUFF | 2. parametre de verilen sayı kadar kısmı 1.string den siler ve onun yerine 2.string i ekler. | STUFF(‘turgay’, 2, 3, ‘sahtiyan’) | tsahtiyanay |
| SUBSTRING | Verilen string den belli bir kısmı almaya yarar. | SUBSTRING(‘turgay’, 2, 3) | urg |
| UPPER | Verilen string i büyük harflere döndürür. | UPPER(‘TuRGaY’) | TURGAY |
Ayrıca mysql string fonksiyonları
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html