{"id":25456,"date":"2025-07-06T18:15:22","date_gmt":"2025-07-06T15:15:22","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/"},"modified":"2025-07-06T18:15:22","modified_gmt":"2025-07-06T15:15:22","slug":"postgresql-iki-tarih-arasindaki-is-gunlerini-sayma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/","title":{"rendered":"PostgreSQL: \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini Sayma"},"content":{"rendered":"<p># PostgreSQL&#8217;de \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini Sayma<\/p>\n<p>PostgreSQL veritaban\u0131n\u0131zda iki tarih aras\u0131nda ka\u00e7 i\u015f g\u00fcn\u00fc oldu\u011funu hesaplaman\u0131z m\u0131 gerekiyor?  Proje y\u00f6netimi, finansal raporlama veya insan kaynaklar\u0131 gibi bir\u00e7ok alanda bu bilgiye ihtiya\u00e7 duyabilirsiniz.  Bu makale, PostgreSQL kullanarak iki tarih aras\u0131ndaki i\u015f g\u00fcnlerini sayman\u0131n farkl\u0131 y\u00f6ntemlerini, performans optimizasyonlar\u0131n\u0131 ve olas\u0131 sorunlar\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayarak,  ba\u015flang\u0131\u00e7 seviyesinden ileri seviyeye kadar kapsaml\u0131 bir rehber sunmaktad\u0131r.  Yeni ba\u015flayanlar i\u00e7in basit \u00f6rneklerden, ileri d\u00fczey kullan\u0131c\u0131lar i\u00e7in performans analizlerine kadar geni\u015f bir yelpazede bilgi bulacaks\u0131n\u0131z.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong>  Basit bir fonksiyon ile i\u015f g\u00fcn\u00fc hesaplama.<\/p>\n<p><strong>Orta Seviye:<\/strong>  Ger\u00e7ek d\u00fcnya senaryolar\u0131 ve performans optimizasyon teknikleri.<\/p>\n<p><strong>\u0130leri Seviye:<\/strong>  Karma\u015f\u0131k senaryolar, performans analizi ve olas\u0131 sorunlar\u0131n \u00e7\u00f6z\u00fcm\u00fc.<\/p>\n<p><strong>PostgreSQL&#8217;de Tarih ve Zaman \u0130\u015flemleri: Temel Kavramlar<\/strong><\/p>\n<p>PostgreSQL, tarih ve zaman verilerini y\u00f6netmek i\u00e7in g\u00fc\u00e7l\u00fc fonksiyonlar sunar.  <code class=\"language-\">date<\/code> veri tipi tarih bilgilerini, <code class=\"language-\">timestamp<\/code> veri tipi ise tarih ve zaman bilgilerini saklar.  \u0130\u015f g\u00fcnlerini hesaplamak i\u00e7in hafta sonlar\u0131n\u0131 (Cumartesi ve Pazar) dikkate almal\u0131 ve gerekti\u011finde resmi tatil g\u00fcnlerini de hesaba katmal\u0131y\u0131z.  Bu i\u015flem, basit aritmetik i\u015flemlerden \u00e7ok daha karma\u015f\u0131k bir hesaplama gerektirir.<\/p>\n<p><strong>PostgreSQL ile \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini Sayma: Basit Bir Yakla\u015f\u0131m (Yeni Ba\u015flayan)<\/strong><\/p>\n<p>\u0130lk ad\u0131mda, basit bir fonksiyon yazarak ba\u015flayal\u0131m. Bu fonksiyon, iki tarih aras\u0131ndaki g\u00fcn say\u0131s\u0131n\u0131 hesaplar ve hafta sonlar\u0131n\u0131 \u00e7\u0131kararak i\u015f g\u00fcn\u00fc say\u0131s\u0131n\u0131 bulur.<\/p>\n<pre class=\"language-sql\"><code>CREATE OR REPLACE FUNCTION business_days(start_date DATE, end_date DATE)\nRETURNS INTEGER AS $$\nDECLARE\n  total_days INTEGER;\n  weekend_days INTEGER;\nBEGIN\n  total_days := EXTRACT(DAY FROM (end_date - start_date)) + 1;\n  weekend_days := (total_days \/ 7) * 2 + CASE WHEN EXTRACT(DOW FROM start_date) = 0 THEN 1 ELSE 0 END + CASE WHEN EXTRACT(DOW FROM end_date) = 1 THEN 1 ELSE 0 END;\n  RETURN total_days - weekend_days;\nEND;\n$$ LANGUAGE plpgsql;\n\n\nSELECT business_days('2024-03-01', '2024-03-15'); -- \u00d6rnek kullan\u0131m<\/code><\/pre>\n<p>Bu fonksiyon, iki tarih aras\u0131ndaki toplam g\u00fcn say\u0131s\u0131n\u0131 hesaplar ve hafta sonu g\u00fcnlerini \u00e7\u0131kar\u0131r.  <code class=\"language-\">EXTRACT(DOW FROM date)<\/code> fonksiyonu, haftan\u0131n g\u00fcn\u00fcn\u00fc (0: Pazar, 1: Pazartesi, &#8230; 6: Cumartesi) verir.  Bu basit fonksiyon, resmi tatilleri dikkate almaz.<\/p>\n<p><strong>Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve Performans Optimizasyonu (Orta Seviye)<\/strong><\/p>\n<p>\u015eimdi, daha ger\u00e7ek\u00e7i bir senaryo ele alal\u0131m. Bir proje y\u00f6netim sisteminde, bir projenin tamamlanmas\u0131 i\u00e7in gereken i\u015f g\u00fcn\u00fc say\u0131s\u0131n\u0131 hesaplamak isteyebilirsiniz.  Bu durumda, resmi tatilleri de hesaba katmal\u0131y\u0131z.  Bunun i\u00e7in, bir &#8220;tatil&#8221; tablosu olu\u015fturup, fonksiyonumuzu g\u00fcncelleyelim:<\/p>\n<pre class=\"language-sql\"><code>CREATE TABLE holidays (holiday_date DATE);\nINSERT INTO holidays (holiday_date) VALUES ('2024-01-01'), ('2024-04-19'), ('2024-05-01'); -- \u00d6rnek tatiller\n\nCREATE OR REPLACE FUNCTION business_days_with_holidays(start_date DATE, end_date DATE)\nRETURNS INTEGER AS $$\nDECLARE\n  total_days INTEGER;\n  weekend_days INTEGER;\n  holiday_days INTEGER;\nBEGIN\n  total_days := EXTRACT(DAY FROM (end_date - start_date)) + 1;\n  weekend_days := (total_days \/ 7) * 2 + CASE WHEN EXTRACT(DOW FROM start_date) = 0 THEN 1 ELSE 0 END + CASE WHEN EXTRACT(DOW FROM end_date) = 1 THEN 1 ELSE 0 END;\n  SELECT COUNT(*) INTO holiday_days FROM holidays WHERE holiday_date BETWEEN start_date AND end_date;\n  RETURN total_days - weekend_days - holiday_days;\nEND;\n$$ LANGUAGE plpgsql;\n\nSELECT business_days_with_holidays('2024-03-01', '2024-03-15'); -- \u00d6rnek kullan\u0131m<\/code><\/pre>\n<p>Bu fonksiyon, tatil g\u00fcnlerini de dikkate alarak daha do\u011fru bir sonu\u00e7 verir.  Performans optimizasyonu i\u00e7in, tatil g\u00fcnlerinin bir dizi olarak saklanmas\u0131 yerine, bir <code class=\"language-\">btree<\/code> indeks olu\u015fturarak sorgu h\u0131z\u0131n\u0131 art\u0131rabiliriz: <code class=\"language-\">CREATE INDEX idx_holidays ON holidays (holiday_date);<\/code><\/p>\n<p><strong>Karma\u015f\u0131k Senaryolar, Performans Analizi ve Olas\u0131 Sorunlar (\u0130leri Seviye)<\/strong><\/p>\n<p>Daha karma\u015f\u0131k senaryolarda, farkl\u0131 \u00fclkelerin farkl\u0131 tatil g\u00fcnlerini ve hafta sonu d\u00fczenlerini hesaba katman\u0131z gerekebilir.  Bu durumda, daha esnek bir fonksiyon yazman\u0131z veya bir \u00fc\u00e7\u00fcnc\u00fc taraf k\u00fct\u00fcphanesi kullanman\u0131z gerekebilir.  Ayr\u0131ca, \u00e7ok b\u00fcy\u00fck veri k\u00fcmeleri i\u00e7in performans analizi yapman\u0131z ve gerekti\u011finde sorgu optimizasyonu teknikleri uygulaman\u0131z \u00f6nemlidir.  \u00d6rne\u011fin,  <code class=\"language-\">EXPLAIN ANALYZE<\/code> komutu ile sorgu performans\u0131n\u0131 analiz edebilirsiniz.  Ayr\u0131ca, b\u00fcy\u00fck veri k\u00fcmeleri i\u00e7in daha verimli algoritmalar kullanmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz.  <code class=\"language-\">generate_series<\/code> fonksiyonu ile tarih aral\u0131\u011f\u0131n\u0131 olu\u015fturup, her bir g\u00fcn\u00fc kontrol etmek performans\u0131 d\u00fc\u015f\u00fcrebilir. Bu durumda, daha optimize edilmi\u015f algoritmalar ara\u015ft\u0131r\u0131lmal\u0131d\u0131r.  \u00d6rne\u011fin,  karma\u015f\u0131k tarih aral\u0131klar\u0131nda,  her g\u00fcn i\u00e7in ayr\u0131 ayr\u0131 kontrol yerine, toplu i\u015flemlerle daha h\u0131zl\u0131 sonu\u00e7lar al\u0131nabilir.<\/p>\n<p><strong>Farkl\u0131 \u00dclkelerin Tatil G\u00fcnlerini Hesaplama<\/strong><\/p>\n<p>Global bir \u015firket i\u00e7in \u00e7al\u0131\u015f\u0131yorsan\u0131z, farkl\u0131 \u00fclkelerin tatil g\u00fcnlerini hesaba katman\u0131z gerekecektir.  Bunun i\u00e7in, her \u00fclke i\u00e7in ayr\u0131 bir tatil tablosu olu\u015fturup, fonksiyonunuzu bu tablolara g\u00f6re uyarlayabilirsiniz.  Ya da,  \u00fclke koduna g\u00f6re dinamik olarak tatil g\u00fcnlerini \u00e7eken daha karma\u015f\u0131k bir fonksiyon geli\u015ftirebilirsiniz.  Bu, daha fazla kod karma\u015f\u0131kl\u0131\u011f\u0131 getirecektir, ancak daha esnek ve \u00f6l\u00e7eklenebilir bir \u00e7\u00f6z\u00fcm sunacakt\u0131r.  Bu durumda, veritaban\u0131 tasar\u0131m\u0131n\u0131z\u0131 iyi planlaman\u0131z ve performans testleri yapman\u0131z kritik \u00f6nem ta\u015f\u0131r.  [fatihsoysal.com](https:\/\/fatihsoysal.com) gibi kaynaklardan daha fazla bilgi edinebilirsiniz.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>PostgreSQL&#8217;de iki tarih aras\u0131ndaki i\u015f g\u00fcnlerini saymak, basit bir fonksiyondan karma\u015f\u0131k bir sisteme kadar de\u011fi\u015fen \u00e7e\u015fitli yakla\u015f\u0131mlar gerektirir.  Bu makale, farkl\u0131 seviyelerdeki ihtiya\u00e7lara y\u00f6nelik \u00e7\u00f6z\u00fcmler sunmu\u015f ve performans optimizasyonu i\u00e7in ipu\u00e7lar\u0131 vermi\u015ftir.  Unutmay\u0131n ki, en iyi yakla\u015f\u0131m, \u00f6zel ihtiya\u00e7lar\u0131n\u0131za ve veri k\u00fcmenizin b\u00fcy\u00fckl\u00fc\u011f\u00fcne ba\u011fl\u0131d\u0131r.  Performans testleri yaparak ve  <code class=\"language-\">EXPLAIN ANALYZE<\/code>  komutunu kullanarak en uygun \u00e7\u00f6z\u00fcm\u00fc belirleyebilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong>Resmi tatilleri nas\u0131l ekleyebilirim?<\/strong>  Bir &#8220;tatil&#8221; tablosu olu\u015fturup, fonksiyonunuzu bu tabloya g\u00f6re g\u00fcncelleyebilirsiniz.<br \/>\n2. <strong>\u00c7ok b\u00fcy\u00fck veri k\u00fcmeleri i\u00e7in performans nas\u0131l optimize edilebilir?<\/strong>  \u0130ndeksler olu\u015fturun,  <code class=\"language-\">EXPLAIN ANALYZE<\/code>  kullanarak sorguyu analiz edin ve daha verimli algoritmalar kullanmay\u0131 d\u00fc\u015f\u00fcn\u00fcn.<br \/>\n3. <strong>Farkl\u0131 \u00fclkelerin hafta sonu d\u00fczenlerini nas\u0131l y\u00f6netebilirim?<\/strong>  Her \u00fclke i\u00e7in ayr\u0131 bir fonksiyon veya daha karma\u015f\u0131k bir algoritma kullanabilirsiniz.<br \/>\n4. <strong>Hafta sonu g\u00fcnlerini nas\u0131l tan\u0131mlayabilirim?<\/strong>  <code class=\"language-\">EXTRACT(DOW FROM date)<\/code> fonksiyonunu kullanarak haftan\u0131n g\u00fcn\u00fcn\u00fc belirleyebilirsiniz.<br \/>\n5. <strong>Performans sorunlar\u0131 ya\u015farsam ne yapmal\u0131y\u0131m?<\/strong>  <code class=\"language-\">EXPLAIN ANALYZE<\/code> kullanarak sorguyu analiz edin, indeksleri kontrol edin ve daha verimli algoritmalar kullanmay\u0131 d\u00fc\u015f\u00fcn\u00fcn.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PostgreSQL&#8217;de \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini Sayma PostgreSQL veritaban\u0131n\u0131zda iki tarih aras\u0131nda ka\u00e7 i\u015f g\u00fcn\u00fc oldu\u011funu hesaplaman\u0131z&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-25456","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: \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini 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-iki-tarih-arasindaki-is-gunlerini-sayma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL: \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini Sayma\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-06T15:15:22+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-iki-tarih-arasindaki-is-gunlerini-sayma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PostgreSQL: \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini Sayma\",\"datePublished\":\"2025-07-06T15:15:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/\"},\"wordCount\":863,\"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-iki-tarih-arasindaki-is-gunlerini-sayma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/\",\"name\":\"PostgreSQL: \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini Sayma\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-07-06T15:15:22+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL: \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini 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: \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini 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-iki-tarih-arasindaki-is-gunlerini-sayma\/","og_locale":"tr_TR","og_type":"article","og_title":"PostgreSQL: \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini Sayma","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-07-06T15:15:22+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-iki-tarih-arasindaki-is-gunlerini-sayma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PostgreSQL: \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini Sayma","datePublished":"2025-07-06T15:15:22+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/"},"wordCount":863,"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-iki-tarih-arasindaki-is-gunlerini-sayma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/","url":"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/","name":"PostgreSQL: \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini Sayma","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-07-06T15:15:22+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-iki-tarih-arasindaki-is-gunlerini-sayma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL: \u0130ki Tarih Aras\u0131ndaki \u0130\u015f G\u00fcnlerini 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\/25456","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=25456"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/25456\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=25456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=25456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=25456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}