{"id":27643,"date":"2025-08-17T00:15:20","date_gmt":"2025-08-16T21:15:20","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/"},"modified":"2025-08-17T00:15:20","modified_gmt":"2025-08-16T21:15:20","slug":"postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/","title":{"rendered":"PostgreSQL: Bir Dizideki Bir Karakterin Olu\u015f Say\u0131s\u0131n\u0131 Sayma"},"content":{"rendered":"<p># PostgreSQL&#8217;de Bir Metin \u0130\u00e7inde Karakter Say\u0131s\u0131n\u0131 Saymak<\/p>\n<p>PostgreSQL veritaban\u0131n\u0131zda sakl\u0131 metinsel veriler \u00fczerinde \u00e7al\u0131\u015f\u0131rken, belirli bir karakterin ka\u00e7 kez ge\u00e7ti\u011fini bilmeniz gerekebilir.  \u00d6rne\u011fin, bir sosyal medya analizinde belirli bir hashtag&#8217;in ka\u00e7 g\u00f6nderide kullan\u0131ld\u0131\u011f\u0131n\u0131 veya bir \u00fcr\u00fcn yorumlar\u0131ndaki olumsuz kelimelerin s\u0131kl\u0131\u011f\u0131n\u0131 tespit etmek isteyebilirsiniz. Bu makalede, PostgreSQL kullanarak bir metin i\u00e7indeki bir karakterin olu\u015fum say\u0131s\u0131n\u0131 ad\u0131m ad\u0131m nas\u0131l sayaca\u011f\u0131n\u0131z\u0131, performans optimizasyonunu ve olas\u0131 sorunlar\u0131 ele alaca\u011f\u0131z.  Veri analizi ve veritaban\u0131 y\u00f6netiminde uzmanla\u015fm\u0131\u015f [fatihsoysal.com](https:\/\/fatihsoysal.com) sitesinden faydalanarak bilgilerinizi geli\u015ftirebilirsiniz.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p>Bu makale, PostgreSQL&#8217;de karakter say\u0131m\u0131n\u0131 \u00f6\u011frenmek i\u00e7in \u00fc\u00e7 a\u015famal\u0131 bir yol haritas\u0131 sunar:<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong>  Basit SQL fonksiyonlar\u0131 ile karakter say\u0131m\u0131.<\/p>\n<p><strong>Orta:<\/strong> Ger\u00e7ek d\u00fcnya senaryolar\u0131 ve optimizasyon teknikleri.<\/p>\n<p><strong>\u0130leri D\u00fczey:<\/strong> Performans analizi, s\u0131n\u0131r durumlar\u0131 ve karma\u015f\u0131k sorgulamalar.<\/p>\n<p><strong>PostgreSQL&#8217;de Temel Karakter Say\u0131m\u0131: Nas\u0131l Yap\u0131l\u0131r?<\/strong><\/p>\n<p>PostgreSQL, metin i\u015fleme i\u00e7in bir\u00e7ok g\u00fc\u00e7l\u00fc fonksiyon sunar.  En basit karakter sayma y\u00f6ntemi, <code class=\"language-\">regexp_count()<\/code> fonksiyonunu kullanmakt\u0131r. Bu fonksiyon, bir metin i\u00e7inde belirli bir d\u00fczenli ifade \u00f6r\u00fcnt\u00fcs\u00fcn\u00fcn ka\u00e7 kez ge\u00e7ti\u011fini sayar. Tek bir karakteri saymak i\u00e7in,  d\u00fczenli ifade olarak karakterin kendisini kullanabiliriz.<\/p>\n<p><strong>\u00d6rnek:<\/strong>  &#8220;Merhaba D\u00fcnya!&#8221; metninde &#8220;a&#8221; karakterinin ka\u00e7 kez ge\u00e7ti\u011fini bulal\u0131m.<\/p>\n<pre class=\"language-sql\"><code>SELECT regexp_count('Merhaba D\u00fcnya!', 'a');<\/code><\/pre>\n<p>Bu sorgu, sonucu 2 olarak d\u00f6nd\u00fcrecektir.<\/p>\n<p><strong>Ger\u00e7ek D\u00fcnya Senaryosu: \u00dcr\u00fcn Yorumlar\u0131nda Olumsuz Kelime Analizi<\/strong><\/p>\n<p>Bir e-ticaret sitesinin \u00fcr\u00fcn yorumlar\u0131n\u0131 analiz etti\u011fimizi ve olumsuz kelimelerin s\u0131kl\u0131\u011f\u0131n\u0131 belirlemek istedi\u011fimizi d\u00fc\u015f\u00fcnelim.  &#8220;k\u00f6t\u00fc&#8221;, &#8220;berbat&#8221;, &#8220;bozuk&#8221; gibi kelimelerin her yorumda ka\u00e7 kez ge\u00e7ti\u011fini bulmak i\u00e7in a\u015fa\u011f\u0131daki sorguyu kullanabiliriz:<\/p>\n<pre class=\"language-sql\"><code>CREATE TABLE yorumlar (\n    yorum_id SERIAL PRIMARY KEY,\n    yorum TEXT\n);\n\nINSERT INTO yorumlar (yorum) VALUES\n('Bu \u00fcr\u00fcn \u00e7ok k\u00f6t\u00fcyd\u00fc, hi\u00e7 memnun kalmad\u0131m.'),\n('\u00dcr\u00fcn berbat, \u00e7al\u0131\u015fm\u0131yor.'),\n('Kaliteli bir \u00fcr\u00fcn, ancak biraz pahal\u0131.'),\n('\u00dcr\u00fcn bozuk geldi, iade etmek zorunda kald\u0131m.');\n\nSELECT yorum_id, yorum, \n       regexp_count(yorum, 'k\u00f6t\u00fc') + regexp_count(yorum, 'berbat') + regexp_count(yorum, 'bozuk') as olumsuz_kelime_sayisi\nFROM yorumlar;<\/code><\/pre>\n<p>Bu sorgu, her yorum i\u00e7in olumsuz kelimelerin toplam say\u0131s\u0131n\u0131 hesaplar.  Daha geli\u015fmi\u015f bir analiz i\u00e7in, olumsuz kelimeleri i\u00e7eren bir dizi olu\u015fturabilir ve d\u00f6ng\u00fc kullanarak her kelime i\u00e7in say\u0131m\u0131 ayr\u0131 ayr\u0131 hesaplayabiliriz. Ancak bu y\u00f6ntem, b\u00fcy\u00fck veri setlerinde performans sorunlar\u0131na yol a\u00e7abilir.<\/p>\n<p><strong>Performans Optimizasyonu: B\u00fcy\u00fck Veri Setlerinde Karakter Say\u0131m\u0131<\/strong><\/p>\n<p>B\u00fcy\u00fck veri setlerinde <code class=\"language-\">regexp_count()<\/code> fonksiyonunun performans\u0131 d\u00fc\u015febilir.  Daha h\u0131zl\u0131 bir yakla\u015f\u0131m,  <code class=\"language-\">substring<\/code> fonksiyonu ve yinelemeli bir yakla\u015f\u0131m kullanmakt\u0131r. Ancak bu y\u00f6ntem daha karma\u015f\u0131k bir kod gerektirir ve  PostgreSQL&#8217;in sundu\u011fu geli\u015fmi\u015f fonksiyonlardan daha az verimli olabilir.  \u00d6rne\u011fin, PL\/pgSQL fonksiyonlar\u0131 kullan\u0131larak yinelemeli bir yakla\u015f\u0131m yaz\u0131labilir, ancak bu yakla\u015f\u0131m\u0131n performans\u0131, verinin b\u00fcy\u00fckl\u00fc\u011f\u00fcne ve karakterin s\u0131kl\u0131\u011f\u0131na ba\u011fl\u0131 olarak de\u011fi\u015fir.  Genellikle, b\u00fcy\u00fck veriler i\u00e7in indeksleme ve uygun sorgu optimizasyon teknikleri daha etkili olacakt\u0131r.<\/p>\n<p><strong>\u0130leri D\u00fczey Teknikler:  PL\/pgSQL ile Karakter Say\u0131m\u0131<\/strong><\/p>\n<p>Daha karma\u015f\u0131k senaryolar i\u00e7in, PL\/pgSQL (PostgreSQL Procedural Language) kullanarak \u00f6zel fonksiyonlar yazabiliriz.  \u00d6rne\u011fin, b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyarl\u0131l\u0131\u011f\u0131 olmadan bir karakterin say\u0131m\u0131n\u0131 yapan bir fonksiyon olu\u015fturabiliriz:<\/p>\n<pre class=\"language-sql\"><code>CREATE OR REPLACE FUNCTION count_char_insensitive(text, text)\nRETURNS INTEGER AS $$\nDECLARE\n  input_text ALIAS FOR $1;\n  char_to_count ALIAS FOR $2;\n  count INTEGER := 0;\nBEGIN\n  FOR i IN 1..length(input_text) LOOP\n    IF lower(substring(input_text, i, 1)) = lower(char_to_count) THEN\n      count := count + 1;\n    END IF;\n  END LOOP;\n  RETURN count;\nEND;\n$$ LANGUAGE plpgsql;\n\nSELECT count_char_insensitive('Merhaba D\u00fcnya!', 'a');<\/code><\/pre>\n<p>Bu fonksiyon, b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyarl\u0131l\u0131\u011f\u0131 olmadan &#8220;a&#8221; karakterinin say\u0131s\u0131n\u0131 hesaplar.  Ancak, yine de b\u00fcy\u00fck veri setlerinde performans sorunu ya\u015fanabilir.<\/p>\n<p><strong>S\u0131n\u0131r Durumlar\u0131 ve Hata Y\u00f6netimi<\/strong><\/p>\n<p>Karakter sayma i\u015flemlerinde baz\u0131 s\u0131n\u0131r durumlar\u0131 dikkate al\u0131nmal\u0131d\u0131r.  \u00d6rne\u011fin, bo\u015f bir metin i\u00e7in sonu\u00e7 0 olmal\u0131d\u0131r.  Ayr\u0131ca, karakterin metinde hi\u00e7 ge\u00e7memesi durumunda da 0 sonucu beklenir.  Hata y\u00f6netimi i\u00e7in,  fonksiyonlarda <code class=\"language-\">EXCEPTION<\/code> bloklar\u0131 kullan\u0131larak olas\u0131 hatalar yakalanabilir ve uygun bir \u015fekilde i\u015flenebilir.<\/p>\n<p><strong>PostgreSQL&#8217;de Karakter Say\u0131m\u0131:  Performans Analizi<\/strong><\/p>\n<p>Bir sorguyu optimize etmeden \u00f6nce, performans\u0131n\u0131 analiz etmek \u00f6nemlidir.  PostgreSQL&#8217;in <code class=\"language-\">EXPLAIN<\/code> komutu, bir sorguyu \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce nas\u0131l y\u00fcr\u00fct\u00fclece\u011fini g\u00f6sterir.  <code class=\"language-\">EXPLAIN ANALYZE<\/code> komutu ise sorguyu \u00e7al\u0131\u015ft\u0131rarak ger\u00e7ek y\u00fcr\u00fctme s\u00fcresini ve maliyetini g\u00f6sterir. Bu bilgiler, sorguyu optimize etmek i\u00e7in gerekli ad\u0131mlar\u0131 belirlememize yard\u0131mc\u0131 olur.  \u00d6rne\u011fin, b\u00fcy\u00fck bir tabloda karakter say\u0131m\u0131 yap\u0131yorsan\u0131z, uygun indeksler olu\u015fturmak performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>PostgreSQL&#8217;de bir metin i\u00e7indeki bir karakterin olu\u015fum say\u0131s\u0131n\u0131 saymak i\u00e7in \u00e7e\u015fitli y\u00f6ntemler mevcuttur.  Basit durumlarda <code class=\"language-\">regexp_count()<\/code> fonksiyonu yeterli olabilirken, b\u00fcy\u00fck veri setleri veya karma\u015f\u0131k senaryolar i\u00e7in PL\/pgSQL fonksiyonlar\u0131 ve performans optimizasyon teknikleri gereklidir.  Uygun y\u00f6ntemin se\u00e7imi, veri setinin b\u00fcy\u00fckl\u00fc\u011f\u00fc, sorgu karma\u015f\u0131kl\u0131\u011f\u0131 ve performans gereksinimlerine ba\u011fl\u0131d\u0131r.  [fatihsoysal.com](https:\/\/fatihsoysal.com) sitesinden daha fazla PostgreSQL ipucu ve teknikleri bulabilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">regexp_count()<\/code> fonksiyonu neden yava\u015f olabilir?<\/strong>  D\u00fczenli ifadeler, \u00f6zellikle karma\u015f\u0131k ifadeler,  y\u00fcksek hesaplama maliyetine sahip olabilir.<br \/>\n2. <strong>B\u00fcy\u00fck veri setlerinde performans\u0131 nas\u0131l iyile\u015ftirebilirim?<\/strong>  \u0130ndeksleme, uygun veri tipleri se\u00e7imi ve sorgu optimizasyonu performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.<br \/>\n3. <strong>B\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyarl\u0131l\u0131\u011f\u0131n\u0131 nas\u0131l kontrol edebilirim?<\/strong>  <code class=\"language-\">lower()<\/code> fonksiyonu veya d\u00fczenli ifadelerdeki bayraklar kullan\u0131labilir.<br \/>\n4. <strong>\u00d6zel karakterleri nas\u0131l sayabilirim?<\/strong>  D\u00fczenli ifadeler veya escape karakterleri kullan\u0131labilir.<br \/>\n5. <strong>PL\/pgSQL kullanman\u0131n avantajlar\u0131 nelerdir?<\/strong>  Karma\u015f\u0131k mant\u0131k uygulanabilir, hata y\u00f6netimi kolayla\u015f\u0131r ve performans optimizasyonu i\u00e7in daha fazla esneklik sa\u011flar.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PostgreSQL&#8217;de Bir Metin \u0130\u00e7inde Karakter Say\u0131s\u0131n\u0131 Saymak PostgreSQL veritaban\u0131n\u0131zda sakl\u0131 metinsel veriler \u00fczerinde \u00e7al\u0131\u015f\u0131rken, belirli bir karakterin&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[644],"tags":[],"class_list":{"0":"post-27643","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-postgresql","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PostgreSQL: Bir Dizideki Bir Karakterin Olu\u015f Say\u0131s\u0131n\u0131 Sayma<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL: Bir Dizideki Bir Karakterin Olu\u015f Say\u0131s\u0131n\u0131 Sayma\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-16T21:15:20+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PostgreSQL: Bir Dizideki Bir Karakterin Olu\u015f Say\u0131s\u0131n\u0131 Sayma\",\"datePublished\":\"2025-08-16T21:15:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/\"},\"wordCount\":884,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"PostgreSQL\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/\",\"name\":\"PostgreSQL: Bir Dizideki Bir Karakterin Olu\u015f Say\u0131s\u0131n\u0131 Sayma\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-16T21:15:20+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL: Bir Dizideki Bir Karakterin Olu\u015f Say\u0131s\u0131n\u0131 Sayma\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PostgreSQL: Bir Dizideki Bir Karakterin Olu\u015f Say\u0131s\u0131n\u0131 Sayma","description":"Hi\u00e7bir etiketi bulunamad\u0131.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/","og_locale":"tr_TR","og_type":"article","og_title":"PostgreSQL: Bir Dizideki Bir Karakterin Olu\u015f Say\u0131s\u0131n\u0131 Sayma","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-16T21:15:20+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"5 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PostgreSQL: Bir Dizideki Bir Karakterin Olu\u015f Say\u0131s\u0131n\u0131 Sayma","datePublished":"2025-08-16T21:15:20+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/"},"wordCount":884,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["PostgreSQL"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/","url":"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/","name":"PostgreSQL: Bir Dizideki Bir Karakterin Olu\u015f Say\u0131s\u0131n\u0131 Sayma","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-16T21:15:20+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-bir-dizideki-bir-karakterin-olus-sayisini-sayma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL: Bir Dizideki Bir Karakterin Olu\u015f Say\u0131s\u0131n\u0131 Sayma"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=27643"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27643\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=27643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=27643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=27643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}