{"id":27951,"date":"2025-08-21T06:15:23","date_gmt":"2025-08-21T03:15:23","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/"},"modified":"2025-08-21T06:15:23","modified_gmt":"2025-08-21T03:15:23","slug":"postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/","title":{"rendered":"PostgreSQL: Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama"},"content":{"rendered":"<p># PostgreSQL&#8217;de Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama<\/p>\n<p>PostgreSQL veritaban\u0131n\u0131zda iki tarih aras\u0131nda ge\u00e7en g\u00fcn say\u0131s\u0131n\u0131 hesaplaman\u0131z m\u0131 gerekiyor?  Bir m\u00fc\u015fterinin \u00fcyelik s\u00fcresini, bir projenin tamamlanma s\u00fcresini veya bir \u00fcr\u00fcn\u00fcn stokta kalma s\u00fcresini mi takip ediyorsunuz? Bu makale, PostgreSQL&#8217;de tarih fark\u0131n\u0131 g\u00fcn olarak hesaplaman\u0131n farkl\u0131 y\u00f6ntemlerini, performans optimizasyonunu ve olas\u0131 sorunlar\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayarak, yeni ba\u015flayanlardan uzmanlara kadar herkese rehberlik edecektir.  Fatih Soysal&#8217;\u0131n bu kapsaml\u0131 rehberiyle PostgreSQL yeteneklerinizi geli\u015ftirin.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p>Bu makale, PostgreSQL&#8217;de tarih fark\u0131 hesaplamay\u0131 kademeli olarak \u00f6\u011fretmek i\u00e7in tasarlanm\u0131\u015ft\u0131r:<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong>  <code class=\"language-\">age()<\/code> fonksiyonu ile basit tarih fark\u0131 hesaplama.<\/p>\n<p><strong>Orta Seviye:<\/strong>  <code class=\"language-\">date_part()<\/code> fonksiyonu ile daha karma\u015f\u0131k hesaplamalar ve ger\u00e7ek d\u00fcnya \u00f6rnekleri.  Performans optimizasyonu ipu\u00e7lar\u0131.<\/p>\n<p><strong>\u0130leri Seviye:<\/strong>  Performans analizi, edge case&#8217;ler ve \u00f6zel durumlar\u0131n ele al\u0131nmas\u0131.<\/p>\n<p><strong>PostgreSQL&#8217;de Tarih ve Zaman Veri Tipleri: Temel Kavramlar<\/strong><\/p>\n<p>PostgreSQL, tarih ve zaman verilerini saklamak i\u00e7in \u00e7e\u015fitli veri tipleri sunar. Bunlardan en yayg\u0131nlar\u0131 <code class=\"language-\">date<\/code>, <code class=\"language-\">timestamp<\/code>, ve <code class=\"language-\">timestamptz<\/code>&#8216;dir.  <code class=\"language-\">date<\/code> tipi sadece tarihi (YYYY-MM-DD) saklarken, <code class=\"language-\">timestamp<\/code>  tarih ve zaman\u0131 (YYYY-MM-DD HH:MM:SS) saklar. <code class=\"language-\">timestamptz<\/code> ise zaman dilimlerini de i\u00e7eren tarih ve zaman bilgisini saklar.  Bu veri tiplerini do\u011fru se\u00e7mek, do\u011fru sonu\u00e7lar elde etmek i\u00e7in olduk\u00e7a \u00f6nemlidir. Yanl\u0131\u015f veri tipi se\u00e7imi, zaman dilimi farkl\u0131l\u0131klar\u0131ndan kaynaklanan hatalara yol a\u00e7abilir.<\/p>\n<p><strong>PostgreSQL&#8217;de Tarih Fark\u0131n\u0131 Hesaplaman\u0131n Basit Yolu: <code class=\"language-\">age()<\/code> Fonksiyonu<\/strong><\/p>\n<p>PostgreSQL&#8217;in <code class=\"language-\">age()<\/code> fonksiyonu, iki tarih aras\u0131ndaki fark\u0131 y\u0131l, ay ve g\u00fcn olarak hesaplar.  Ancak, sadece g\u00fcn say\u0131s\u0131n\u0131 elde etmek i\u00e7in ekstra i\u015flem yapmam\u0131z gerekir.<\/p>\n<p><strong>Yeni Ba\u015flayanlar \u0130\u00e7in Ad\u0131m Ad\u0131m A\u00e7\u0131klama:<\/strong><\/p>\n<p>\u00d6rne\u011fin,  <code class=\"language-\">musteriler<\/code> tablomuzda <code class=\"language-\">kayit_tarihi<\/code> ad\u0131nda bir tarih s\u00fctunu oldu\u011funu varsayal\u0131m. Bug\u00fcn ile kay\u0131t tarihi aras\u0131ndaki g\u00fcn say\u0131s\u0131n\u0131 hesaplamak i\u00e7in a\u015fa\u011f\u0131daki sorgular\u0131 kullanabiliriz:<\/p>\n<pre class=\"language-sql\"><code>-- Bug\u00fcnk\u00fc tarihi al\nSELECT CURRENT_DATE;\n\n-- Bir m\u00fc\u015fterinin kay\u0131t tarihi ile bug\u00fcnk\u00fc tarih aras\u0131ndaki fark\u0131 hesapla\nSELECT age(CURRENT_DATE, kayit_tarihi) FROM musteriler WHERE musteri_id = 1;\n\n-- Sadece g\u00fcn say\u0131s\u0131n\u0131 elde etmek i\u00e7in (Y\u0131l ve ay bilgisini g\u00f6z ard\u0131 ederek)\nSELECT EXTRACT(DAY FROM age(CURRENT_DATE, kayit_tarihi)) FROM musteriler WHERE musteri_id = 1;<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">age()<\/code> fonksiyonu, iki tarih aras\u0131ndaki fark\u0131 bir aral\u0131k olarak d\u00f6nd\u00fcr\u00fcr. <code class=\"language-\">EXTRACT(DAY FROM ...)<\/code> ise bu aral\u0131ktaki g\u00fcn say\u0131s\u0131n\u0131 ay\u0131klar.  Bu y\u00f6ntem basittir ancak b\u00fcy\u00fck veri setlerinde performans sorunlar\u0131na yol a\u00e7abilir.<\/p>\n<p><strong>Daha Geli\u015fmi\u015f Y\u00f6ntem: <code class=\"language-\">date_part()<\/code> Fonksiyonu ile Tarih Fark\u0131 Hesaplama<\/strong><\/p>\n<p><code class=\"language-\">date_part()<\/code> fonksiyonu, daha fazla esneklik sunar ve b\u00fcy\u00fck veri setlerinde daha performansl\u0131 olabilir. Bu fonksiyon, bir tarih veya zaman de\u011ferinden belirli bir zaman birimini (g\u00fcn, ay, y\u0131l, vb.) ay\u0131klar.<\/p>\n<p><strong>Orta Seviye Kullan\u0131c\u0131lar \u0130\u00e7in Ger\u00e7ek D\u00fcnya \u00d6rne\u011fi:<\/strong><\/p>\n<p>Bir e-ticaret \u015firketinde, sipari\u015flerin teslim s\u00fcresini izlemek istedi\u011fimizi d\u00fc\u015f\u00fcnelim.  <code class=\"language-\">siparisler<\/code> tablomuzda <code class=\"language-\">siparis_tarihi<\/code> ve <code class=\"language-\">teslim_tarihi<\/code> s\u00fctunlar\u0131 olsun.  Teslim s\u00fcresini g\u00fcn cinsinden hesaplamak i\u00e7in \u015fu sorguyu kullanabiliriz:<\/p>\n<pre class=\"language-sql\"><code>SELECT siparis_id,\n       (date_part('day', teslim_tarihi - siparis_tarihi)::integer) as teslim_suresi_gun\nFROM siparisler;<\/code><\/pre>\n<p>Burada, <code class=\"language-\">teslim_tarihi - siparis_tarihi<\/code> i\u015flemi, iki tarih aras\u0131ndaki fark\u0131 bir <code class=\"language-\">interval<\/code> tipi olarak d\u00f6nd\u00fcr\u00fcr. <code class=\"language-\">date_part('day', ...)<\/code> ise bu aral\u0131ktaki g\u00fcn say\u0131s\u0131n\u0131 ay\u0131klar. <code class=\"language-\">::integer<\/code> d\u00f6n\u00fc\u015f\u00fcm\u00fc ise sonucu tam say\u0131ya \u00e7evirir.<\/p>\n<p><strong>Optimizasyon \u0130pu\u00e7lar\u0131:<\/strong><\/p>\n<p>* <strong>\u0130ndeksler:<\/strong> <code class=\"language-\">siparis_tarihi<\/code> ve <code class=\"language-\">teslim_tarihi<\/code> s\u00fctunlar\u0131na indeks eklemek, sorgu performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.<br \/>\n* <strong>Fonksiyonel \u0130ndeksler:<\/strong>  <code class=\"language-\">(date_part('day', teslim_tarihi - siparis_tarihi))<\/code> ifadesi \u00fczerine fonksiyonel indeks olu\u015fturmak da performans\u0131 iyile\u015ftirebilir.<\/p>\n<p><strong>\u0130leri D\u00fczey Teknikler: Performans Analizi ve Edge Case&#8217;ler<\/strong><\/p>\n<p>B\u00fcy\u00fck veri setlerinde, tarih fark\u0131 hesaplamalar\u0131 performans\u0131 etkileyebilir.  Performans analizi i\u00e7in <code class=\"language-\">EXPLAIN ANALYZE<\/code> komutunu kullanarak sorgu plan\u0131n\u0131 inceleyebilir ve optimizasyon yapabilirsiniz.<\/p>\n<p><strong>Edge Case&#8217;ler:<\/strong><\/p>\n<p>* <strong>Zaman Dilimleri:<\/strong> <code class=\"language-\">timestamptz<\/code> tipi kullan\u0131rken, zaman dilimi farkl\u0131l\u0131klar\u0131n\u0131 g\u00f6z \u00f6n\u00fcnde bulundurmak \u00f6nemlidir.  Yanl\u0131\u015f sonu\u00e7lardan ka\u00e7\u0131nmak i\u00e7in, veritaban\u0131n\u0131z\u0131n zaman dilimini do\u011fru ayarlay\u0131n ve sorgular\u0131n\u0131zda zaman dilimlerini a\u00e7\u0131k\u00e7a belirtin.<br \/>\n* <strong>K\u0131r\u0131k Tarihler:<\/strong>  Ge\u00e7ersiz tarih de\u011ferleri (\u00f6rne\u011fin, 2024-02-30) hatalara yol a\u00e7abilir.  Veri temizli\u011fi ve do\u011frulama i\u015flemleri yaparak bu t\u00fcr hatalar\u0131 \u00f6nleyebilirsiniz.<br \/>\n* <strong>Y\u00fcksek Hacimli Veri:<\/strong> \u00c7ok b\u00fcy\u00fck veri setlerinde, performans\u0131 art\u0131rmak i\u00e7in par\u00e7alama (partitioning) tekniklerini kullanabilirsiniz.<\/p>\n<p><strong>Ger\u00e7ek D\u00fcnya Vaka Analizleri<\/strong><\/p>\n<p><strong>Vaka 1: M\u00fc\u015fteri Ya\u015fam D\u00f6ng\u00fcs\u00fc Analizi:<\/strong>  Bir e-ticaret platformunda, m\u00fc\u015fterilerin ilk sat\u0131n alma tarihinden bug\u00fcne kadar ge\u00e7en s\u00fcreyi hesaplayarak m\u00fc\u015fteri ya\u015fam d\u00f6ng\u00fcs\u00fc analizi yapabilirsiniz. Bu analiz, m\u00fc\u015fteri davran\u0131\u015flar\u0131n\u0131 anlamak ve pazarlama stratejilerini geli\u015ftirmek i\u00e7in kullan\u0131labilir.<\/p>\n<p><strong>Vaka 2: Proje Y\u00f6netimi:<\/strong>  Bir proje y\u00f6netim sisteminde, projenin ba\u015flang\u0131\u00e7 ve biti\u015f tarihleri aras\u0131ndaki fark\u0131 hesaplayarak projenin s\u00fcresini izleyebilirsiniz. Bu, projenin zaman\u0131nda tamamlan\u0131p tamamlanmad\u0131\u011f\u0131n\u0131 de\u011ferlendirmek i\u00e7in kullan\u0131labilir.<\/p>\n<p><strong>Vaka 3: Stok Y\u00f6netimi:<\/strong>  Bir depo y\u00f6netim sisteminde, \u00fcr\u00fcnlerin stokta kalma s\u00fcresini hesaplayarak stok rotasyonunu optimize edebilirsiniz.  Bu, eski \u00fcr\u00fcnlerin sat\u0131lmas\u0131n\u0131 h\u0131zland\u0131rmak ve stok maliyetlerini azaltmak i\u00e7in kullan\u0131labilir.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>PostgreSQL&#8217;de tarih fark\u0131n\u0131 g\u00fcn olarak hesaplamak i\u00e7in \u00e7e\u015fitli y\u00f6ntemler mevcuttur.  <code class=\"language-\">age()<\/code> ve <code class=\"language-\">date_part()<\/code> fonksiyonlar\u0131, basit ve karma\u015f\u0131k senaryolarda kullan\u0131labilir.  Ancak, b\u00fcy\u00fck veri setlerinde performans optimizasyonu i\u00e7in indeksler ve fonksiyonel indeksler kullanmak \u00f6nemlidir.  Zaman dilimi farkl\u0131l\u0131klar\u0131 ve ge\u00e7ersiz tarih de\u011ferleri gibi edge case&#8217;leri de g\u00f6z \u00f6n\u00fcnde bulundurmak gerekmektedir.  Fatih Soysal&#8217;\u0131n bu rehberi, PostgreSQL yeteneklerinizi geli\u015ftirmenize ve verilerinizden daha fazla de\u011fer elde etmenize yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">age()<\/code> ve <code class=\"language-\">date_part()<\/code> fonksiyonlar\u0131 aras\u0131ndaki fark nedir?<\/strong> <code class=\"language-\">age()<\/code> iki tarih aras\u0131ndaki fark\u0131 bir aral\u0131k olarak d\u00f6nd\u00fcr\u00fcrken, <code class=\"language-\">date_part()<\/code> belirli bir zaman birimini ay\u0131klar.<\/p>\n<p>2. <strong>Tarih fark\u0131 hesaplamalar\u0131nda performans\u0131 nas\u0131l optimize edebilirim?<\/strong> \u0130ndeksler, fonksiyonel indeksler ve par\u00e7alama teknikleri kullanarak performans\u0131 art\u0131rabilirsiniz.<\/p>\n<p>3. <strong><code class=\"language-\">timestamp<\/code> ve <code class=\"language-\">timestamptz<\/code> aras\u0131ndaki fark nedir?<\/strong> <code class=\"language-\">timestamp<\/code> sadece tarih ve zaman\u0131 saklarken, <code class=\"language-\">timestamptz<\/code> zaman dilimini de i\u00e7erir.<\/p>\n<p>4. <strong>Ge\u00e7ersiz tarih de\u011ferleriyle nas\u0131l ba\u015fa \u00e7\u0131kabilirim?<\/strong> Veri temizli\u011fi ve do\u011frulama i\u015flemleri yaparak ge\u00e7ersiz tarih de\u011ferlerini \u00f6nleyebilirsiniz.<\/p>\n<p>5. <strong>B\u00fcy\u00fck veri setlerinde tarih fark\u0131 hesaplamalar\u0131 i\u00e7in hangi y\u00f6ntem daha uygundur?<\/strong> B\u00fcy\u00fck veri setlerinde, <code class=\"language-\">date_part()<\/code> fonksiyonu ve uygun indeksler ile performans\u0131 optimize edebilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PostgreSQL&#8217;de Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama PostgreSQL veritaban\u0131n\u0131zda iki tarih aras\u0131nda ge\u00e7en g\u00fcn say\u0131s\u0131n\u0131 hesaplaman\u0131z m\u0131&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-27951","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: Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama<\/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-tarihler-arasindaki-farki-gun-olarak-hesaplama\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL: Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-21T03:15:23+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-tarihler-arasindaki-farki-gun-olarak-hesaplama\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PostgreSQL: Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama\",\"datePublished\":\"2025-08-21T03:15:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/\"},\"wordCount\":991,\"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-tarihler-arasindaki-farki-gun-olarak-hesaplama\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/\",\"name\":\"PostgreSQL: Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-21T03:15:23+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL: Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama\"}]},{\"@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: Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama","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-tarihler-arasindaki-farki-gun-olarak-hesaplama\/","og_locale":"tr_TR","og_type":"article","og_title":"PostgreSQL: Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-21T03:15:23+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-tarihler-arasindaki-farki-gun-olarak-hesaplama\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PostgreSQL: Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama","datePublished":"2025-08-21T03:15:23+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/"},"wordCount":991,"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-tarihler-arasindaki-farki-gun-olarak-hesaplama\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/","url":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/","name":"PostgreSQL: Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-21T03:15:23+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihler-arasindaki-farki-gun-olarak-hesaplama\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL: Tarihler Aras\u0131ndaki Fark\u0131 G\u00fcn Olarak Hesaplama"}]},{"@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\/27951","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=27951"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27951\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=27951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=27951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=27951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}