{"id":212,"title":"SQL Notlar\u0131: String \u0130\u015flemleri","content":"<p>MySQL, metin verileri \u00fczerinde \u00e7e\u015fitli i\u015flemler yapmak i\u00e7in bir\u00e7ok fonksiyon sunar. Bu b\u00f6l\u00fcmde, MySQL'deki temel string i\u015flemlerini ve bu i\u015flemlerin nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 inceleyece\u011fiz.<\/p><p>### 1. **String Uzunlu\u011fu: `LENGTH()` ve `CHAR_LENGTH()`**<\/p><p>- **`LENGTH(str)`:** Stringin byte cinsinden uzunlu\u011funu d\u00f6ner. UTF-8 gibi \u00e7ok byte'l\u0131 karakter setlerinde, karakter say\u0131s\u0131ndan farkl\u0131 olabilir.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT LENGTH('f\u00f6bbar'); -- 8<br>&nbsp;```<\/p><p>- **`CHAR_LENGTH(str)`:** Stringin karakter say\u0131s\u0131n\u0131 d\u00f6ner. UTF-8 gibi \u00e7ok byte'l\u0131 karakter setlerinde bile do\u011fru karakter say\u0131s\u0131n\u0131 verir.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT CHAR_LENGTH('f\u00f6bbar'); -- 6<br>&nbsp;```<\/p><p>### 2. **Alt String \u00c7\u0131karma: `SUBSTRING()`**<\/p><p>- **`SUBSTRING(str, start_position, length)`:** Belirtilen pozisyondan ba\u015flayarak belirli bir uzunlukta alt string d\u00f6ner.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT SUBSTRING('foobarbaz', 4, 3); -- 'bar'<br>&nbsp;```<\/p><p>&nbsp;Negatif indeksleme de kullan\u0131labilir:<br>&nbsp;```sql<br>&nbsp;SELECT SUBSTRING('foobarbaz', -6, 3); -- 'bar'<br>&nbsp;```<\/p><p>### 3. **B\u00fcy\u00fck\/K\u00fc\u00e7\u00fck Harf D\u00f6n\u00fc\u015f\u00fcm\u00fc: `UPPER()` ve `LOWER()`**<\/p><p>- **`UPPER(str)`:** Stringi b\u00fcy\u00fck harfe \u00e7evirir.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT UPPER('fooBar'); -- 'FOOBAR'<br>&nbsp;```<\/p><p>- **`LOWER(str)`:** Stringi k\u00fc\u00e7\u00fck harfe \u00e7evirir.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT LOWER('fooBar'); -- 'foobar'<br>&nbsp;```<\/p><p>### 4. **String De\u011fi\u015ftirme: `REPLACE()`**<\/p><p>- **`REPLACE(str, from_str, to_str)`:** String i\u00e7indeki belirli bir alt stringi ba\u015fka bir string ile de\u011fi\u015ftirir.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT REPLACE('foobarbaz', 'bar', 'BAR'); -- 'fooBARbaz'<br>&nbsp;```<\/p><p>### 5. **String Birle\u015ftirme: `CONCAT()` ve `CONCAT_WS()`**<\/p><p>- **`CONCAT(str1, str2, ...)`:** Birden fazla stringi birle\u015ftirir.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT CONCAT('foo', 'bar', 'baz'); -- 'foobarbaz'<br>&nbsp;```<\/p><p>- **`CONCAT_WS(separator, str1, str2, ...)`:** Birden fazla stringi belirtilen bir ayra\u00e7 ile birle\u015ftirir.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT CONCAT_WS('-', 'foo', 'bar', 'baz'); -- 'foo-bar-baz'<br>&nbsp;```<\/p><p>### 6. **String Arama: `FIND_IN_SET()`**<\/p><p>- **`FIND_IN_SET(str, strlist)`:** Bir stringin, virg\u00fclle ayr\u0131lm\u0131\u015f bir string listesindeki pozisyonunu d\u00f6ner. Bulunamazsa 0 d\u00f6ner.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT FIND_IN_SET('b', 'a,b,c'); -- 2<br>&nbsp;SELECT FIND_IN_SET('d', 'a,b,c'); -- 0<br>&nbsp;```<\/p><p>### 7. **String Ters \u00c7evirme: `REVERSE()`**<\/p><p>- **`REVERSE(str)`:** Stringi ters \u00e7evirir.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT REVERSE('foobar'); -- 'raboof'<br>&nbsp;```<\/p><p>### 8. **String Trimleme: `TRIM()`, `LTRIM()`, `RTRIM()`**<\/p><p>- **`TRIM(str)`:** Stringin ba\u015f\u0131ndaki ve sonundaki bo\u015fluklar\u0131 kald\u0131r\u0131r.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT TRIM(' &nbsp;foobar &nbsp;'); -- 'foobar'<br>&nbsp;```<\/p><p>- **`LTRIM(str)`:** Stringin ba\u015f\u0131ndaki bo\u015fluklar\u0131 kald\u0131r\u0131r.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT LTRIM(' &nbsp;foobar'); -- 'foobar'<br>&nbsp;```<\/p><p>- **`RTRIM(str)`:** Stringin sonundaki bo\u015fluklar\u0131 kald\u0131r\u0131r.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT RTRIM('foobar &nbsp;'); -- 'foobar'<br>&nbsp;```<\/p><p>### 9. **String Formatlama: `FORMAT()`**<\/p><p>- **`FORMAT(number, decimal_places)`:** Bir say\u0131y\u0131 belirtilen ondal\u0131k basamak say\u0131s\u0131na g\u00f6re formatlar.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT FORMAT(123456.789, 2); -- '123,456.79'<br>&nbsp;```<\/p><p>### 10. **String Padleme: `LPAD()` ve `RPAD()`**<\/p><p>- **`LPAD(str, length, pad_str)`:** Stringi belirtilen uzunlu\u011fa kadar sol tarafa belirtilen string ile doldurur.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT LPAD('foobar', 10, 'x'); -- 'xxxxfoobar'<br>&nbsp;```<\/p><p>- **`RPAD(str, length, pad_str)`:** Stringi belirtilen uzunlu\u011fa kadar sa\u011f tarafa belirtilen string ile doldurur.<br>&nbsp;<br>&nbsp;**\u00d6rnek Kullan\u0131m:**<br>&nbsp;```sql<br>&nbsp;SELECT RPAD('foobar', 10, 'x'); -- 'foobarxxxx'<br>&nbsp;```<\/p><p>---<\/p><p>Bu bilgilerle, MySQL'de string i\u015flemlerini nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi daha iyi anlayabilirsiniz. Bir sonraki yaz\u0131da, tarih ve saat i\u015flemleri gibi daha geli\u015fmi\u015f SQL konular\u0131na de\u011finece\u011fiz.<\/p><p>&nbsp;<\/p>","excerpt":"MySQL'de string i\u015flemlerini nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi daha iyi anlayabilirsiniz. Bir sonraki yaz\u0131da, tarih ve saat i\u015flemleri gibi daha geli\u015fmi\u015f SQL konular\u0131na de\u011finece\u011fiz.","created_at":"2025-01-13 15:12:42","updated_at":"2026-09-23 19:47:04","category_id":9,"view_count":565,"reading_time":4,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-01-13 15:12:42","featured_image":"resimyok.jpg","slug":"sql-notlari-string-islemleri","category_name":"Yaz\u0131l\u0131m","category_slug":"yazilim"}