{"id":27751,"date":"2025-08-18T12:15:25","date_gmt":"2025-08-18T09:15:25","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/"},"modified":"2025-08-18T12:15:25","modified_gmt":"2025-08-18T09:15:25","slug":"postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/","title":{"rendered":"PostgreSQL: Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma"},"content":{"rendered":"<p># PostgreSQL&#8217;de Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma<\/p>\n<p>PostgreSQL veritaban\u0131n\u0131zda sakl\u0131 olan metin verilerinden belirli bir karakterden sonraki b\u00f6l\u00fcm\u00fc ay\u0131klamak istiyorsunuz, ancak nas\u0131l yapaca\u011f\u0131n\u0131zdan emin de\u011filsiniz.  Bu makale, PostgreSQL&#8217;de alt dize \u00e7\u0131karma i\u015flemlerini ad\u0131m ad\u0131m, yeni ba\u015flayanlardan ileri seviye kullan\u0131c\u0131lara kadar herkesin anlayabilece\u011fi \u015fekilde a\u00e7\u0131klayacak.  Ger\u00e7ek d\u00fcnya \u00f6rnekleri ve performans optimizasyonu ipu\u00e7lar\u0131yla dolu bu rehber, PostgreSQL yeteneklerinizi bir \u00fcst seviyeye ta\u015f\u0131man\u0131za yard\u0131mc\u0131 olacak.<\/p>\n<p><strong>PostgreSQL Alt Dize \u00c7\u0131karma Tekniklerine Giri\u015f<\/strong><\/p>\n<p>Veri analizi ve manip\u00fclasyonunda s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir problem, metin verilerinin belirli b\u00f6l\u00fcmlerini ay\u0131klama ihtiyac\u0131d\u0131r.  \u00d6rne\u011fin, bir e-posta adresinden kullan\u0131c\u0131 ad\u0131n\u0131, bir URL&#8217;den domain ad\u0131n\u0131 veya bir \u00fcr\u00fcn kodundan \u00fcr\u00fcn numaras\u0131n\u0131 ay\u0131rmak isteyebilirsiniz.  PostgreSQL, bu t\u00fcr i\u015flemler i\u00e7in g\u00fc\u00e7l\u00fc fonksiyonlar sunar.  Bu makalede,  <code class=\"language-\">substring<\/code>, <code class=\"language-\">position<\/code>, <code class=\"language-\">right<\/code> ve <code class=\"language-\">split_part<\/code> gibi fonksiyonlar\u0131 kullanarak belirli bir karakterden sonraki alt dizgiyi nas\u0131l \u00e7\u0131karaca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz.  Bu teknikler, farkl\u0131 karma\u015f\u0131kl\u0131k seviyelerindeki g\u00f6revler i\u00e7in \u00f6zelle\u015ftirilebilir ve optimize edilebilir.<\/p>\n<p><strong>PostgreSQL&#8217;de Alt Dize \u00c7\u0131karma: Yeni Ba\u015flayanlar \u0130\u00e7in Ad\u0131m Ad\u0131m Rehber<\/strong><\/p>\n<p><strong>Ad\u0131m 1: Gerekli Fonksiyonlar\u0131 Anlamak<\/strong><\/p>\n<p>* <code class=\"language-\">position(substring in string)<\/code>:  Belirtilen <code class=\"language-\">substring<\/code>&#8216;in <code class=\"language-\">string<\/code> i\u00e7indeki pozisyonunu d\u00f6nd\u00fcr\u00fcr. Pozisyon 1&#8217;den ba\u015flar.  Bulunamazsa 0 d\u00f6nd\u00fcr\u00fcr.<br \/>\n* <code class=\"language-\">substring(string from start)<\/code>:  <code class=\"language-\">string<\/code>&#8216;in <code class=\"language-\">start<\/code> pozisyonundan ba\u015flayarak sonuna kadar olan alt dizgiyi d\u00f6nd\u00fcr\u00fcr.<br \/>\n* <code class=\"language-\">substring(string from start for length)<\/code>: <code class=\"language-\">string<\/code>&#8216;in <code class=\"language-\">start<\/code> pozisyonundan ba\u015flayarak <code class=\"language-\">length<\/code> uzunlu\u011fundaki alt dizgiyi d\u00f6nd\u00fcr\u00fcr.<\/p>\n<p><strong>Ad\u0131m 2: Basit Bir \u00d6rnek<\/strong><\/p>\n<p>A\u015fa\u011f\u0131daki tabloda <code class=\"language-\">tam_adres<\/code> s\u00fctununda adres bilgileri sakl\u0131 olsun:<\/p>\n<p>| id | tam_adres                               |<br \/>\n|&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| 1  | \u0130stanbul, Ba\u011fc\u0131lar, Mahmutbey Sokak 12 |<br \/>\n| 2  | Ankara, \u00c7ankaya, Atat\u00fcrk Bulvar\u0131 5     |<\/p>\n<p>\u0130stanbul \u015fehrinden sonraki k\u0131sm\u0131 ay\u0131klamak istedi\u011fimizi varsayal\u0131m.  A\u015fa\u011f\u0131daki sorgu bunu ger\u00e7ekle\u015ftirir:<\/p>\n<pre class=\"language-sql\"><code>SELECT\n  substring(tam_adres FROM position(',' in tam_adres) + 1) AS adres_kalan_k\u0131s\u0131m\nFROM\n  adresler\nWHERE\n  tam_adres LIKE '\u0130stanbul%';<\/code><\/pre>\n<p>Bu sorgu \u00f6ncelikle virg\u00fcl\u00fcn konumunu bulur (<code class=\"language-\">position<\/code>), sonra virg\u00fclden sonraki karakterden ba\u015flayarak alt dizgiyi ay\u0131klar (<code class=\"language-\">substring<\/code>).  <code class=\"language-\">WHERE<\/code> klauzu ile sadece \u0130stanbul ile ba\u015flayan adresleri filtreleriz.<\/p>\n<p><strong>PostgreSQL&#8217;de Alt Dize \u00c7\u0131karma: Orta Seviye Uygulamalar\u0131 ve Optimizasyon \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p><strong>Ger\u00e7ek D\u00fcnya \u00d6rne\u011fi: E-posta Adresinden Kullan\u0131c\u0131 Ad\u0131n\u0131 \u00c7\u0131karma<\/strong><\/p>\n<p>Bir e-posta adresleri tablosunda, e-posta adresinden kullan\u0131c\u0131 ad\u0131n\u0131 ay\u0131klamak isteyelim.  \u00d6rne\u011fin, <code class=\"language-\">fatih.soysal@example.com<\/code> adresinden <code class=\"language-\">fatih.soysal<\/code> k\u0131sm\u0131n\u0131 ay\u0131klamam\u0131z gerekiyor.  <code class=\"language-\">@<\/code> sembol\u00fcn\u00fc ay\u0131r\u0131c\u0131 olarak kullanabiliriz:<\/p>\n<pre class=\"language-sql\"><code>SELECT\n  substring(email FROM 1 FOR position('@' in email) - 1) AS kullan\u0131c\u0131_ad\u0131\nFROM\n  kullan\u0131c\u0131lar;<\/code><\/pre>\n<p>Bu sorgu, <code class=\"language-\">@<\/code> sembol\u00fcn\u00fcn pozisyonunu bulur ve bu pozisyondan 1 karakter \u00f6nceye kadar olan k\u0131sm\u0131 (kullan\u0131c\u0131 ad\u0131) ay\u0131klar.<\/p>\n<p><strong>Optimizasyon \u0130pu\u00e7lar\u0131:<\/strong><\/p>\n<p>* <strong>\u0130ndeksler:<\/strong>  <code class=\"language-\">LIKE<\/code> operat\u00f6r\u00fcn\u00fc kullan\u0131rken,  <code class=\"language-\">tam_adres<\/code> s\u00fctununa bir indeks eklemek performans\u0131 art\u0131rabilir.<br \/>\n* <strong>Fonksiyonel \u0130ndeksler:<\/strong>  S\u0131k\u00e7a kullan\u0131lan alt dize \u00e7\u0131karma i\u015flemleri i\u00e7in fonksiyonel indeksler olu\u015fturmak faydal\u0131 olabilir. \u00d6rne\u011fin: <code class=\"language-\">CREATE INDEX idx_kullanici_adi ON kullan\u0131c\u0131lar ((substring(email FROM 1 FOR position('@' in email) - 1)));<\/code><br \/>\n* <strong>Regex kullan\u0131m\u0131:<\/strong> Karma\u015f\u0131k desen e\u015fle\u015ftirmeleri i\u00e7in <code class=\"language-\">regexp_replace<\/code> fonksiyonunu kullanabilirsiniz. Ancak, regex i\u015flemleri performans a\u00e7\u0131s\u0131ndan daha pahal\u0131 olabilir.<\/p>\n<p><strong>PostgreSQL&#8217;de Alt Dize \u00c7\u0131karma: \u0130leri Seviye Teknikler ve Performans Analizi<\/strong><\/p>\n<p><strong>Edge Case&#8217;ler ve Hata Y\u00f6netimi:<\/strong><\/p>\n<p><code class=\"language-\">position<\/code> fonksiyonu, aranan alt dizeyi bulamazsa 0 d\u00f6nd\u00fcr\u00fcr.  <code class=\"language-\">substring<\/code> fonksiyonu ise negatif veya s\u0131f\u0131r de\u011ferli ba\u015flang\u0131\u00e7 pozisyonu al\u0131rsa hata verebilir.  Bu durumlar\u0131 \u00f6nlemek i\u00e7in <code class=\"language-\">CASE<\/code> ifadeleri veya <code class=\"language-\">COALESCE<\/code> fonksiyonu kullan\u0131labilir:<\/p>\n<pre class=\"language-sql\"><code>SELECT\n  CASE\n    WHEN position('@' in email) &gt; 0 THEN substring(email FROM 1 FOR position('@' in email) - 1)\n    ELSE NULL  -- @ sembol\u00fc yoksa NULL d\u00f6nd\u00fcr\n  END AS kullan\u0131c\u0131_ad\u0131\nFROM\n  kullan\u0131c\u0131lar;<\/code><\/pre>\n<p><strong>Performans Analizi:<\/strong><\/p>\n<p>Karma\u015f\u0131k sorgu ve b\u00fcy\u00fck veri k\u00fcmeleri i\u00e7in performans analizi kritik \u00f6neme sahiptir.  <code class=\"language-\">EXPLAIN ANALYZE<\/code> komutu, sorgu plan\u0131n\u0131 ve y\u00fcr\u00fctme s\u00fcresini g\u00f6sterir.  Sorguyu optimize etmek i\u00e7in bu bilgiyi kullanabilirsiniz.  \u00d6rne\u011fin, indeks eksikli\u011fi veya yanl\u0131\u015f indeks kullan\u0131m\u0131 performans\u0131 olumsuz etkileyebilir.  <code class=\"language-\">fatihsoysal.com<\/code> adresindeki blog yaz\u0131lar\u0131mda, PostgreSQL performans optimizasyonu hakk\u0131nda daha detayl\u0131 bilgi bulabilirsiniz.<\/p>\n<p><strong><code class=\"language-\">split_part<\/code> Fonksiyonunun Kullan\u0131m\u0131<\/strong><\/p>\n<p><code class=\"language-\">split_part<\/code> fonksiyonu, bir dizgiyi belirli bir ay\u0131r\u0131c\u0131ya g\u00f6re par\u00e7alara ay\u0131r\u0131r ve belirtilen par\u00e7ay\u0131 d\u00f6nd\u00fcr\u00fcr.  Bu fonksiyon,  <code class=\"language-\">substring<\/code> ve <code class=\"language-\">position<\/code> fonksiyonlar\u0131na g\u00f6re daha okunabilir ve baz\u0131 durumlarda daha performansl\u0131 olabilir.<\/p>\n<p>\u00d6rne\u011fin, adres \u00f6rne\u011fimiz i\u00e7in:<\/p>\n<pre class=\"language-sql\"><code>SELECT split_part(tam_adres, ',', 2) AS il\u00e7e, split_part(tam_adres, ',', 3) AS mahalle\nFROM adresler;<\/code><\/pre>\n<p>Bu sorgu, virg\u00fcl\u00fc ay\u0131r\u0131c\u0131 olarak kullanarak adresin ikinci ve \u00fc\u00e7\u00fcnc\u00fc par\u00e7alar\u0131n\u0131 (il\u00e7e ve mahalle) ay\u0131klar.<\/p>\n<p><strong>PostgreSQL&#8217;de Alt Dize \u00c7\u0131karma: Ger\u00e7ek D\u00fcnya Vaka Analizi<\/strong><\/p>\n<p><strong>Vaka 1: Log Dosyalar\u0131n\u0131n Analizi:<\/strong><\/p>\n<p>Bir web sunucusunun log dosyalar\u0131n\u0131 analiz etti\u011finizi ve her sat\u0131r\u0131n &#8220;IP Adresi &#8211; Tarih &#8211; \u0130stek&#8221; format\u0131nda oldu\u011funu varsayal\u0131m.  <code class=\"language-\">split_part<\/code> fonksiyonunu kullanarak IP adresini, tarihi ve iste\u011fi ayr\u0131 s\u00fctunlara ay\u0131rmak olduk\u00e7a kolayd\u0131r:<\/p>\n<pre class=\"language-sql\"><code>SELECT\n  split_part(log_sat\u0131r\u0131, '-', 1) AS ip_adresi,\n  split_part(log_sat\u0131r\u0131, '-', 2) AS tarih,\n  split_part(log_sat\u0131r\u0131, '-', 3) AS istek\nFROM\n  loglar;<\/code><\/pre>\n<p><strong>Vaka 2: \u00dcr\u00fcn Kodlar\u0131n\u0131n \u0130\u015flenmesi:<\/strong><\/p>\n<p>\u00dcr\u00fcn kodlar\u0131n\u0131n &#8220;\u00dcr\u00fcnTipi-\u00dcr\u00fcnKodu-Renk&#8221; format\u0131nda oldu\u011funu varsayal\u0131m (\u00f6rne\u011fin, &#8220;Ayakkab\u0131-12345-K\u0131rm\u0131z\u0131&#8221;).  <code class=\"language-\">split_part<\/code> ile bu bilgileri ayr\u0131 s\u00fctunlara ay\u0131rabilirsiniz.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>Bu makalede, PostgreSQL&#8217;de belirli bir karakterden sonraki alt dizgiyi \u00e7\u0131karmak i\u00e7in farkl\u0131 teknikleri ve bunlar\u0131n kullan\u0131m\u0131n\u0131 inceledik.  Yeni ba\u015flayanlar i\u00e7in ad\u0131m ad\u0131m bir rehber sunarken, orta ve ileri seviye kullan\u0131c\u0131lar i\u00e7in ger\u00e7ek d\u00fcnya \u00f6rnekleri ve performans optimizasyonu ipu\u00e7lar\u0131 payla\u015ft\u0131k.  <code class=\"language-\">substring<\/code>, <code class=\"language-\">position<\/code>, <code class=\"language-\">right<\/code> ve <code class=\"language-\">split_part<\/code> fonksiyonlar\u0131n\u0131 kullanarak verilerinizi etkili bir \u015fekilde i\u015flemenizi sa\u011flayacak y\u00f6ntemler \u00f6\u011frendiniz.  Karma\u015f\u0131k durumlar i\u00e7in hata y\u00f6netimi ve performans analizi tekniklerini de ele ald\u0131k.  Unutmay\u0131n ki, en iyi y\u00f6ntem, verilerinizin yap\u0131s\u0131na ve sorgu gereksinimlerinize ba\u011fl\u0131 olarak de\u011fi\u015febilir.  Daha fazla PostgreSQL ipucu ve p\u00fcf noktas\u0131 i\u00e7in [fatihsoysal.com](https:\/\/fatihsoysal.com) adresini ziyaret edebilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong>Regex kullanmak ne zaman daha uygundur?<\/strong> Karma\u015f\u0131k desen e\u015fle\u015ftirmeleri veya \u00e7ok say\u0131da ay\u0131r\u0131c\u0131 kullan\u0131lmas\u0131 gerekti\u011finde regex daha uygun olabilir. Ancak performans maliyetini g\u00f6z \u00f6n\u00fcnde bulundurmak \u00f6nemlidir.<\/p>\n<p>2. <strong>Fonksiyonel indeksler her zaman performans\u0131 m\u0131 iyile\u015ftirir?<\/strong> Hay\u0131r, fonksiyonel indeksler her zaman faydal\u0131 de\u011fildir.  S\u0131k\u00e7a kullan\u0131lan ve y\u00fcksek se\u00e7icili\u011fe sahip fonksiyonlar i\u00e7in faydal\u0131d\u0131r.<\/p>\n<p>3. <strong><code class=\"language-\">substring<\/code> ve <code class=\"language-\">split_part<\/code> aras\u0131nda nas\u0131l se\u00e7im yapmal\u0131y\u0131m?<\/strong>  Tek bir ay\u0131r\u0131c\u0131 ve basit alt dize \u00e7\u0131karma i\u015flemleri i\u00e7in <code class=\"language-\">split_part<\/code> daha okunabilir ve bazen daha performansl\u0131 olabilir.  Karma\u015f\u0131k durumlar veya birden fazla ay\u0131r\u0131c\u0131 i\u00e7in <code class=\"language-\">substring<\/code> ve <code class=\"language-\">position<\/code> kombinasyonu daha esnektir.<\/p>\n<p>4. <strong>Hata y\u00f6netimi neden \u00f6nemlidir?<\/strong>  Hata y\u00f6netimi, beklenmedik girdiler veya hatal\u0131 veriler nedeniyle sorgu hatalar\u0131n\u0131 \u00f6nlemek ve daha g\u00fcvenilir sonu\u00e7lar elde etmek i\u00e7in \u00f6nemlidir.<\/p>\n<p>5.  <strong>PostgreSQL&#8217;de performans optimizasyonu i\u00e7in ba\u015fka neler yapabilirim?<\/strong>  Veritaban\u0131 tasar\u0131m\u0131n\u0131 optimize etmek, sorgu yaz\u0131m tekniklerini geli\u015ftirmek, indeksleri do\u011fru kullanmak ve gerekliyse donan\u0131m kaynaklar\u0131n\u0131 art\u0131rmak performans\u0131 iyile\u015ftirebilir.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PostgreSQL&#8217;de Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma PostgreSQL veritaban\u0131n\u0131zda sakl\u0131 olan metin verilerinden belirli bir karakterden&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-27751","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: Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma<\/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-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL: Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-18T09:15:25+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=\"6 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PostgreSQL: Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma\",\"datePublished\":\"2025-08-18T09:15:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/\"},\"wordCount\":1075,\"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-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/\",\"name\":\"PostgreSQL: Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-18T09:15:25+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL: Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma\"}]},{\"@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: Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma","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-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/","og_locale":"tr_TR","og_type":"article","og_title":"PostgreSQL: Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-18T09:15:25+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"6 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PostgreSQL: Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma","datePublished":"2025-08-18T09:15:25+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/"},"wordCount":1075,"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-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/","url":"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/","name":"PostgreSQL: Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-18T09:15:25+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-belirli-bir-karakterden-sonraki-alt-dizgiyi-cikarma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL: Belirli Bir Karakterden Sonraki Alt Dizgiyi \u00c7\u0131karma"}]},{"@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\/27751","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=27751"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27751\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=27751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=27751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=27751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}