{"id":15974,"date":"2024-07-25T12:10:56","date_gmt":"2024-07-25T08:40:56","guid":{"rendered":"https:\/\/www.itpiran.net\/blog\/?p=15974"},"modified":"2024-07-25T12:10:56","modified_gmt":"2024-07-25T08:40:56","slug":"how-to-work-with-dates-and-times-in-sql","status":"publish","type":"post","link":"https:\/\/www.itpiran.net\/blog\/tr\/tutorials\/how-to-work-with-dates-and-times-in-sql\/","title":{"rendered":"SQL&#039;de tarih ve saatlerle nas\u0131l \u00e7al\u0131\u015f\u0131l\u0131r"},"content":{"rendered":"<h2 id=\"%d9%85%d9%82%d8%af%d9%85%d9%87\">girii\u015f<\/h2>\n<p>\u0130li\u015fkisel veritabanlar\u0131 ve Yap\u0131land\u0131r\u0131lm\u0131\u015f Sorgu Dili (SQL) ile \u00e7al\u0131\u015f\u0131rken, belirli tarih veya saatleri temsil eden de\u011ferlerle \u00e7al\u0131\u015fman\u0131z gereken zamanlar olabilir. \u00d6rne\u011fin, belirli bir etkinlik i\u00e7in harcanan toplam saati hesaplaman\u0131z veya matematiksel operat\u00f6rler ve i\u015flevler kullanarak tarih veya saat de\u011ferlerini toplay\u0131p bunlar\u0131n toplam\u0131n\u0131 veya ortalamas\u0131n\u0131 hesaplaman\u0131z gerekebilir.<\/p>\n<p>Bu e\u011fitimde, SQL&#039;de tarih ve saatlerin nas\u0131l kullan\u0131laca\u011f\u0131n\u0131 \u00f6\u011freneceksiniz. Sadece SELECT ifadesini kullanarak tarih ve saatlerle ilgili hesaplamalar yap\u0131p \u00e7e\u015fitli fonksiyonlar kullanarak ba\u015flayacaks\u0131n\u0131z. Ard\u0131ndan, \u00f6rnek veriler \u00fczerinde sorgular \u00e7al\u0131\u015ft\u0131rarak pratik yapacak ve \u00e7\u0131kt\u0131y\u0131 daha anla\u015f\u0131l\u0131r hale getirmek i\u00e7in CAST fonksiyonunu nas\u0131l uygulayaca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz.<\/p>\n<h5 id=\"%d9%be%db%8c%d8%b4-%d9%86%db%8c%d8%a7%d8%b2%d9%87%d8%a7\">\u00d6n ko\u015fullar<\/h5>\n<p>Bu e\u011fitimi tamamlamak i\u00e7in \u015funlara ihtiyac\u0131n\u0131z olacak:<\/p>\n<ul>\n<li>Sudo y\u00f6netimsel ayr\u0131cal\u0131klar\u0131na sahip, root olmayan bir kullan\u0131c\u0131 ve etkin bir g\u00fcvenlik duvar\u0131 bulunan Ubuntu 20.04 \u00e7al\u0131\u015ft\u0131ran bir sunucu.<\/li>\n<li>Sunucuda MySQL kurulu ve g\u00fcvenlidir.<\/li>\n<\/ul>\n<p><span style=\"color: #ff0000;\">Not: Bir\u00e7ok ili\u015fkisel veritaban\u0131 y\u00f6netim sisteminin kendi benzersiz SQL uygulamalar\u0131n\u0131 kulland\u0131\u011f\u0131n\u0131 l\u00fctfen unutmay\u0131n. Bu e\u011fitimde belirtilen komutlar \u00e7o\u011fu \u0130li\u015fkisel Veritaban\u0131 Y\u00f6netim Sisteminde (RDBMS) \u00e7al\u0131\u015fsa da, MySQL d\u0131\u015f\u0131ndaki bir sistemde denerseniz tam s\u00f6zdizimi veya \u00e7\u0131kt\u0131 farkl\u0131 olabilir.<\/span><\/p>\n<p>Bu e\u011fitimde tarih ve saat kullan\u0131m\u0131nda pratik yapmak i\u00e7in, \u00f6rnek verilerle y\u00fckl\u00fc bir veritaban\u0131 ve tabloya ihtiyac\u0131n\u0131z olacak. Eklemeye haz\u0131r bir veritaban\u0131n\u0131z yoksa, veritaban\u0131 ve tablo olu\u015fturmay\u0131 \u00f6\u011frenmek i\u00e7in MySQL&#039;e Ba\u011flanma ve \u00d6rnek Veritaban\u0131 Olu\u015fturma b\u00f6l\u00fcm\u00fcn\u00fc okuyabilirsiniz. Bu e\u011fitimde, bu \u00f6rnek veritaban\u0131 ve tabloya at\u0131fta bulunulacakt\u0131r.<\/p>\n<h2 id=\"%d8%a7%d8%aa%d8%b5%d8%a7%d9%84-%d8%a8%d9%87-mysql-%d9%88-%d8%b1%d8%a7%d9%87-%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-%db%8c%da%a9-%d9%be%d8%a7%db%8c%da%af%d8%a7%d9%87-%d8%af%d8%a7%d8%af%d9%87-%d9%86%d9%85\">MySQL&#039;e ba\u011flanma ve \u00f6rnek bir veritaban\u0131 kurma<\/h2>\n<p>SQL veritaban\u0131n\u0131z uzak bir sunucuda \u00e7al\u0131\u015f\u0131yorsa, yerel makinenizden sunucunuza SSH ile ba\u011flan\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>ssh sammy@your_server_ip\r\n<\/code><\/pre>\n<\/div>\n<p>Daha sonra MySQL komut istemini a\u00e7\u0131n ve Sami&#039;yi MySQL hesap bilgilerinizle de\u011fi\u015ftirin:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>mysql -u sammy -p\r\n<\/code><\/pre>\n<\/div>\n<p>datetimeDB ad\u0131nda bir veritaban\u0131 olu\u015fturun:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>CREATE DATABASE datetimeDB;\r\n<\/code><\/pre>\n<\/div>\n<p>Veritaban\u0131 ba\u015far\u0131yla olu\u015fturulduysa a\u015fa\u011f\u0131daki \u00e7\u0131kt\u0131y\u0131 alacaks\u0131n\u0131z:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nQuery OK, 1 row affected (0.01 sec)<\/code><\/pre>\n<\/div>\n<p>datetimeDB veritaban\u0131n\u0131 se\u00e7mek i\u00e7in a\u015fa\u011f\u0131daki USE ifadesini \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>USE datetimeDB;\r\n<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nDatabase changed<\/code><\/pre>\n<\/div>\n<p>Veritaban\u0131n\u0131 se\u00e7tikten sonra, i\u00e7inde bir tablo olu\u015fturun. Bu e\u011fitimde, iki ko\u015fucunun bir y\u0131l boyunca ko\u015ftuklar\u0131 farkl\u0131 yar\u0131\u015flardaki sonu\u00e7lar\u0131n\u0131 i\u00e7eren bir tablo olu\u015fturaca\u011f\u0131z. Bu tabloda a\u015fa\u011f\u0131daki yedi s\u00fctun bulunmaktad\u0131r:<\/p>\n<ul>\n<li>race_id: int veri tipindeki de\u011ferleri temsil eder ve tablonun birincil anahtar\u0131 olarak i\u015flev g\u00f6r\u00fcr, yani bu s\u00fctundaki her de\u011fer, ilgili sat\u0131r i\u00e7in benzersiz bir tan\u0131mlay\u0131c\u0131 g\u00f6revi g\u00f6r\u00fcr.<\/li>\n<li>runner_name: Bolt ve Felix adl\u0131 iki ko\u015fucunun isimleri i\u00e7in en fazla 30 karakter uzunlu\u011funda varchar veri t\u00fcr\u00fcn\u00fc kullan\u0131r.<\/li>\n<li>race_name: Varchar veri tipine sahip 20 karaktere kadar yar\u0131\u015f t\u00fcrlerini tutar.<\/li>\n<li>start_day: Belirli bir e\u015fle\u015fmenin tarihini y\u0131l, ay ve g\u00fcne g\u00f6re izlemek i\u00e7in DATE veri t\u00fcr\u00fcn\u00fc kullan\u0131r. Bu veri t\u00fcr\u00fc \u015fu parametrelere uyar: y\u0131l i\u00e7in d\u00f6rt basamak ve ay ve g\u00fcn i\u00e7in en fazla iki basamak (YYYY-AA-GG).<\/li>\n<li>ba\u015flang\u0131\u00e7_zaman\u0131: TIME veri t\u00fcr\u00fcyle e\u015fle\u015fmenin ba\u015flang\u0131\u00e7 zaman\u0131n\u0131 saat, dakika ve saniye (SS:DD:SS) olarak g\u00f6sterir. Bu veri t\u00fcr\u00fc, 15:00&#039;\u0131n 15:00&#039;e e\u015fde\u011fer olmas\u0131 gibi 24 saatlik saat bi\u00e7imini izler.<\/li>\n<li>toplam_mil: Yar\u0131\u015f ba\u015f\u0131na toplam mil say\u0131s\u0131n\u0131n \u00e7o\u011fu tam say\u0131 olmad\u0131\u011f\u0131ndan, her yar\u0131\u015f i\u00e7in toplam mesafeyi ondal\u0131k veri t\u00fcr\u00fcn\u00fc kullanarak g\u00f6r\u00fcnt\u00fcler. Bu durumda, ondal\u0131k say\u0131, bir \u00f6l\u00e7e\u011finde \u00fc\u00e7 hassasiyeti belirtir; bu da bu s\u00fctundaki her de\u011ferin \u00fc\u00e7 basamakl\u0131 olabilece\u011fi ve bu basamaklardan birinin ondal\u0131k noktas\u0131n\u0131n sa\u011f\u0131nda oldu\u011fu anlam\u0131na gelir.<\/li>\n<li>end_time: Yar\u0131\u015f sonunda ko\u015fucular\u0131n zaman\u0131n\u0131 izlemek i\u00e7in TIMESTAMP veri t\u00fcr\u00fcn\u00fc kullan\u0131r. Bu veri t\u00fcr\u00fc, tarih ve saati bir dizede birle\u015ftirir ve bi\u00e7imi DATE ve TIME: (YYYY-AA-GG SS:DD:SS) birle\u015fimidir.<\/li>\n<\/ul>\n<p>CREATE TABLE komutunu \u00e7al\u0131\u015ft\u0131rarak tabloyu olu\u015fturun:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>CREATE TABLE race_results (\r\nrace_id int, \r\nrunner_name varchar(30),\r\nrace_name varchar(20), \r\nstart_day DATE,\r\nstart_time TIME, \r\ntotal_miles decimal(3, 1),\r\nend_time TIMESTAMP,\r\nPRIMARY KEY (race_id)\r\n); <\/code><\/pre>\n<\/div>\n<p>Daha sonra bo\u015f tabloya baz\u0131 \u00f6rnek veriler girin:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>INSERT INTO race_results\r\n(race_id, runner_name, race_name, start_day, start_time, total_miles, end_time)\r\nVALUES\r\n(1, 'bolt', '1600_meters', '2022-09-18', '7:00:00', 1.0, '2022-09-18 7:06:30'),\r\n(2, 'bolt', '5K', '2022-10-19', '11:00:00', 3.1, '2022-10-19 11:22:31'),\r\n(3, 'bolt', '10K', '2022-11-20', '10:00:00', 6.2, '2022-11-20 10:38:05'),\r\n(4, 'bolt', 'half_marathon', '2022-12-21', '6:00:00', 13.1, '2022-12-21 07:39:04'),\r\n(5, 'bolt', 'full_marathon', '2023-01-22', '8:00:00', 26.2, '2023-01-22 11:23:10'),\r\n(6, 'felix', '1600_meters', '2022-09-18', '7:00:00', 1.0, '2022-09-18 7:07:15'),\r\n(7, 'felix', '5K', '2022-10-19', '11:00:00', 3.1, '2022-10-19 11:30:50'),\r\n(8, 'felix', '10K', '2022-11-20', '10:00:00', 6.2, '2022-11-20 11:10:17'),\r\n(9, 'felix', 'half_marathon', '2022-12-21', '6:00:00', 13.1, '2022-12-21 08:11:57'),\r\n(10, 'felix', 'full_marathon', '2023-01-22', '8:00:00', 26.2, '2023-01-22 12:02:10');<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nQuery OK, 10 rows affected (0.00 sec)\r\nRecords: 10 Duplicates: 0 Warnings: 0<\/code><\/pre>\n<\/div>\n<p>Verilerinizi girdikten sonra SQL&#039;de tarih ve saatlerle aritmetik ve fonksiyon uygulamalar\u0131 yapmaya ba\u015flayabilirsiniz.<\/p>\n<h2 id=\"%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-%d8%ad%d8%b3%d8%a7%d8%a8-%d8%a8%d8%a7-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d9%88-%d8%b2%d9%85%d8%a7%d9%86\">Hesab\u0131n tarih ve saatle kullan\u0131lmas\u0131<\/h2>\n<p>SQL&#039;de tarih ve saat de\u011ferlerini matematiksel ifadeler kullanarak i\u015fleyebilirsiniz. Tek ihtiyac\u0131n\u0131z olan bir matematiksel operat\u00f6r ve hesaplamak istedi\u011finiz de\u011ferlerdir.<\/p>\n<p>\u00d6rne\u011fin, bir di\u011ferinden belirtilen g\u00fcn say\u0131s\u0131 kadar sonra gelen bir tarihi bulmak istedi\u011finizi varsayal\u0131m. A\u015fa\u011f\u0131daki sorgu, bir tarih de\u011feri (2022-10-05) al\u0131r ve sorguda belirtilen tarihten on yedi g\u00fcn sonras\u0131na ait bir tarih de\u011feri d\u00f6nd\u00fcrmek i\u00e7in bu de\u011fere 17 ekler. Bu \u00f6rnekte, DBMS&#039;nin bunu bir dize veya ba\u015fka bir veri t\u00fcr\u00fc olarak yorumlamamas\u0131 i\u00e7in TAR\u0130H de\u011feri olarak 2022-10-05 belirtildi\u011fini unutmay\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT DATE '2022-10-05' + 17 AS new_date;\r\n<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+----------+\r\n| new_date |\r\n+----------+\r\n| 20221022 |\r\n+----------+\r\n1 row in set (0.01 sec)<\/code><\/pre>\n<\/div>\n<p>Bu \u00e7\u0131kt\u0131n\u0131n g\u00f6sterdi\u011fi gibi, 2022-10-05&#039;ten 17 g\u00fcn sonra tarih 2022-10-22, yani 22 Ekim 2022&#039;dir.<\/p>\n<p>Ba\u015fka bir \u00f6rnek olarak, iki farkl\u0131 zaman aras\u0131ndaki toplam saati hesaplamak istedi\u011finizi varsayal\u0131m. Bunu, iki zaman\u0131 birbirinden \u00e7\u0131kararak yapabilirsiniz. A\u015fa\u011f\u0131daki sorgu i\u00e7in ilk zaman de\u011feri 11:00, ikinci zaman de\u011feri ise 3:00&#039;t\u00fcr. Saat fark\u0131n\u0131 d\u00f6nd\u00fcrmek i\u00e7in her iki de\u011ferin de TIME de\u011feri oldu\u011funu belirtmeniz gerekir:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT TIME '11:00' - TIME '3:00' AS time_diff;\r\n<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-----------+\r\n| time_diff |\r\n+-----------+\r\n| 80000 |\r\n+-----------+\r\n1 row in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>Bu \u00e7\u0131kt\u0131 size 11:00 ile 3:00 aras\u0131ndaki fark\u0131n 80.000, yani 8 saat oldu\u011funu s\u00f6yler.<\/p>\n<p>\u015eimdi \u00f6rnek verilerden tarih ve saat bilgileri \u00fczerinde hesaplamalar yapma al\u0131\u015ft\u0131rmas\u0131 yap\u0131n. \u0130lk sorgu i\u00e7in, ko\u015fucular\u0131n her yar\u0131\u015f\u0131 bitirmelerinin toplam s\u00fcresini, ba\u015flang\u0131\u00e7_zaman\u0131ndan biti\u015f_zaman\u0131n\u0131 \u00e7\u0131kararak hesaplay\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT runner_name, race_name, end_time - start_time \r\nAS total_time \r\nFROM race_results;<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-------------+---------------+----------------+\r\n| runner_name | race_name | total_time |\r\n+-------------+---------------+----------------+\r\n| bolt | 1600_meters | 20220918000630 |\r\n| bolt | 5K | 20221019002231 |\r\n| bolt | 10K | 20221120003805 |\r\n| bolt | half_marathon | 20221221013904 |\r\n| bolt | full_marathon | 20230122032310 |\r\n| felix | 1600_meters | 20220918000715 |\r\n| felix | 5K | 20221019003050 |\r\n| felix | 10K | 20221120011017 |\r\n| felix | half_marathon | 20221221021157 |\r\n| felix | full_marathon | 20230122040210 |\r\n+-------------+---------------+----------------+\r\n10 rows in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>total_time s\u00fctunundaki bu \u00e7\u0131kt\u0131n\u0131n olduk\u00e7a uzun ve okunmas\u0131 zor oldu\u011funu fark edeceksiniz. \u015eimdi, bu veri de\u011ferlerini daha anla\u015f\u0131l\u0131r hale getirmek i\u00e7in CAST fonksiyonunu nas\u0131l kullanaca\u011f\u0131n\u0131z\u0131 g\u00f6sterece\u011fiz.<\/p>\n<p>\u015eimdi, her ko\u015fucunun yaln\u0131zca yar\u0131 ve tam maraton gibi daha uzun yar\u0131\u015flardaki performans\u0131yla ilgileniyorsan\u0131z, bu bilgileri almak i\u00e7in verilerinizi sorgulayabilirsiniz. Bu sorgu i\u00e7in, biti\u015f_saatini ba\u015flang\u0131\u00e7_saatinden \u00e7\u0131kar\u0131n ve sonu\u00e7lar\u0131n\u0131z\u0131, toplam_mil&#039;in 12&#039;den b\u00fcy\u00fck oldu\u011fu verileri almak i\u00e7in bir WHERE ifadesi kullanarak s\u0131n\u0131rlay\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT runner_name, race_name, end_time - start_time AS half_full_results\r\nFROM race_results \r\nWHERE total_miles &gt; 12;<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-------------+---------------+-------------------+\r\n| runner_name | race_name | half_full_results |\r\n+-------------+---------------+-------------------+\r\n| bolt | half_marathon | 20221221013904 |\r\n| bolt | full_marathon | 20230122032310 |\r\n| felix | half_marathon | 20221221021157 |\r\n| felix | full_marathon | 20230122040210 |\r\n+-------------+---------------+-------------------+\r\n4 rows in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>Bu b\u00f6l\u00fcmde, SELECT ifadesiyle ve \u00f6rnek veriler \u00fczerinde pratik ama\u00e7larla baz\u0131 tarih ve saat hesaplamalar\u0131 ger\u00e7ekle\u015ftirdiniz. Ard\u0131ndan, \u00e7e\u015fitli tarih ve saat fonksiyonlar\u0131n\u0131 kullanarak sorgular \u00fczerinde al\u0131\u015ft\u0131rmalar yapacaks\u0131n\u0131z.<\/p>\n<h2 id=\"%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-%d8%aa%d9%88%d8%a7%d8%a8%d8%b9-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d9%88-%d8%b2%d9%85%d8%a7%d9%86-%d9%88-%d8%b9%d8%a8%d8%a7%d8%b1%d8%a7%d8%aa-%d8%a8\">Tarih ve saat fonksiyonlar\u0131n\u0131 ve aral\u0131k ifadelerini kullanma<\/h2>\n<p>SQL&#039;de tarih ve saat de\u011ferlerini bulmak ve de\u011fi\u015ftirmek i\u00e7in kullan\u0131labilecek \u00e7e\u015fitli i\u015flevler vard\u0131r. SQL i\u015flevleri genellikle verileri i\u015flemek veya de\u011fi\u015ftirmek i\u00e7in kullan\u0131l\u0131r ve kullan\u0131labilir i\u015flevler SQL uygulamas\u0131na ba\u011fl\u0131d\u0131r. Ancak \u00e7o\u011fu SQL uygulamas\u0131, current_date ve current_time de\u011ferlerini sorgulayarak ge\u00e7erli tarih ve saati bulman\u0131za olanak tan\u0131r.<\/p>\n<p>\u00d6rne\u011fin bug\u00fcn\u00fcn tarihini bulmak i\u00e7in s\u00f6zdizimi k\u0131sad\u0131r ve yaln\u0131zca SELECT ifadesinden ve current_date fonksiyonundan olu\u015fur, \u015f\u00f6yle:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT current_date;\r\n<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+--------------+\r\n| current_date |\r\n+--------------+\r\n| 2022-02-15 |\r\n+--------------+\r\n1 row in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>Ayn\u0131 s\u00f6zdizimini kullanarak, current_time fonksiyonuyla g\u00fcncel saati bulabilirsiniz:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT current_time;\r\n<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+--------------+\r\n| current_time |\r\n+--------------+\r\n| 17:10:20 |\r\n+--------------+\r\n1 row in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>\u00c7\u0131kt\u0131da tarih ve saati sorgulamay\u0131 tercih ederseniz current_timestamp fonksiyonunu kullan\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT current_timestamp;\r\n<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+---------------------+\r\n| current_timestamp |\r\n+---------------------+\r\n| 2022-02-15 19:09:58 |\r\n+---------------------+\r\n1 row in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>\u00d6nceki b\u00f6l\u00fcmdekine benzer \u015fekilde, aritmetik fonksiyonlarda bu t\u00fcr tarih ve saat fonksiyonlar\u0131n\u0131 kullanabilirsiniz. \u00d6rne\u011fin, bug\u00fcnden 11 g\u00fcn \u00f6nceki tarihin ne oldu\u011funu \u00f6\u011frenmek istedi\u011finizi varsayal\u0131m. Bu durumda, current_date fonksiyonunu sorgulamak i\u00e7in kulland\u0131\u011f\u0131n\u0131z s\u00f6zdizimini kullanabilir ve ard\u0131ndan on bir g\u00fcn \u00f6nceki tarihi bulmak i\u00e7in bu de\u011ferden 11 \u00e7\u0131karabilirsiniz:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT current_date - 11;\r\n<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-------------------+\r\n| current_date - 11 |\r\n+-------------------+\r\n| 20220206 |\r\n+-------------------+\r\n1 row in set (0.01 sec)<\/code><\/pre>\n<\/div>\n<p>Bu \u00e7\u0131kt\u0131da g\u00f6r\u00fcld\u00fc\u011f\u00fc gibi, current_date&#039;den 11 g\u00fcn \u00f6nce (bu makalenin yaz\u0131ld\u0131\u011f\u0131 tarihte) tarih 2022-02-06, yani 6 \u015eubat 2022 idi. \u015eimdi ayn\u0131 i\u015flemi deneyin, ancak current_date&#039;i current_time fonksiyonuyla de\u011fi\u015ftirin:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT current_time - 11;\r\n<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-------------------+\r\n| current_time - 11 |\r\n+-------------------+\r\n| 233639 |\r\n+-------------------+\r\n1 row in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>Bu \u00e7\u0131kt\u0131, current_time de\u011ferinden 11 \u00e7\u0131kar\u0131ld\u0131\u011f\u0131nda 11 saniye \u00e7\u0131kar\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6steriyor. Daha \u00f6nce current_date i\u015flevini kullanarak ger\u00e7ekle\u015ftirdi\u011finiz i\u015flem, 11&#039;i saniye olarak de\u011fil, g\u00fcn olarak yorumluyordu. Say\u0131lar\u0131n yorumlanma bi\u00e7imindeki bu tutars\u0131zl\u0131k, tarih ve saat i\u015flevleriyle \u00e7al\u0131\u015f\u0131rken kafa kar\u0131\u015ft\u0131r\u0131c\u0131 olabilir. Tarih ve saat de\u011ferlerini bu t\u00fcr hesaplamalar kullanarak de\u011fi\u015ftirmenizi gerektirmek yerine, bir\u00e7ok veritaban\u0131 y\u00f6netim sistemi INTERVAL ifadeleri kullanarak daha a\u00e7\u0131k olman\u0131za olanak tan\u0131r.<\/p>\n<p>INTERVAL ifadeleri, bir tarih veya saat ifadesinden belirli bir zaman aral\u0131\u011f\u0131ndan \u00f6nce veya sonra bir tarih veya saat belirtmenize olanak tan\u0131r. A\u015fa\u011f\u0131daki bi\u00e7imde olmal\u0131d\u0131rlar:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>INTERVAL value unit\r\n<\/code><\/pre>\n<\/div>\n<p>\u00d6rne\u011fin, be\u015f g\u00fcn sonraki tarihi bulmak i\u00e7in a\u015fa\u011f\u0131daki sorguyu \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT current_date + INTERVAL '5' DAY AS \"5_days_from_today\";\r\n<\/code><\/pre>\n<\/div>\n<p>Bu \u00f6rnek, current_date de\u011ferini bulur ve ard\u0131ndan INTERVAL &#039;5&#039; DAY aral\u0131k ifadesini buna ekler. Bu, 5 g\u00fcn sonraki tarihi d\u00f6nd\u00fcr\u00fcr:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-------------------+\r\n| 5_days_from_today |\r\n+-------------------+\r\n| 2022-03-06 |\r\n+-------------------+\r\n1 row in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>Bu, benzer, ancak ayn\u0131 olmayan \u00e7\u0131kt\u0131y\u0131 \u00fcreten a\u015fa\u011f\u0131daki sorgudan \u00e7ok daha az belirsizdir:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT current_date + 5 AS \"5_days_from_today\";\r\n<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-------------------+\r\n| 5_days_from_today |\r\n+-------------------+\r\n| 20220306 |\r\n+-------------------+\r\n1 row in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>Belirli bir tarih de\u011ferinden \u00f6nceki de\u011ferleri bulmak i\u00e7in tarihlerden veya saatlerden zaman aral\u0131klar\u0131n\u0131 \u00e7\u0131karabilece\u011finizi unutmay\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT current_date - INTERVAL '7' MONTH AS \"7_months_ago\";\r\n<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+--------------+\r\n| 7_months_ago |\r\n+--------------+\r\n| 2021-08-01 |\r\n+--------------+\r\n1 row in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>INTERVAL ifadelerinde hangi birimlerin kullan\u0131labilece\u011fi, se\u00e7ti\u011finiz DBMS&#039;ye ba\u011fl\u0131d\u0131r; ancak \u00e7o\u011funda SAAT, DAK\u0130KA ve SAN\u0130YE gibi se\u00e7enekler bulunur:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT current_time + INTERVAL '6' HOUR AS \"6_hours_from_now\",\r\ncurrent_time - INTERVAL '5' MINUTE AS \"5_minutes_ago\",\r\ncurrent_time + INTERVAL '20' SECOND AS \"20_seconds_from_now\";<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+------------------+---------------+---------------------+\r\n| 6_hours_from_now | 5_minutes_ago | 20_seconds_from_now |\r\n+------------------+---------------+---------------------+\r\n| 07:51:43 | 01:46:43 | 01:52:03.000000 |\r\n+------------------+---------------+---------------------+\r\n1 row in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>Art\u0131k aral\u0131k ifadeleri ve baz\u0131 tarih ve saat fonksiyonlar\u0131n\u0131 \u00f6\u011frendi\u011finize g\u00f6re, ilk ad\u0131mda girdi\u011finiz \u00f6rnek verilerle \u00e7al\u0131\u015fmaya devam edin.<\/p>\n<h2 id=\"%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-%d8%aa%d9%88%d8%a7%d8%a8%d8%b9-cast-%d9%88-aggregate-%d8%a8%d8%a7-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d9%88-%d8%b2%d9%85%d8%a7%d9%86\">Tarih ve saatlerle CAST ve Aggregate i\u015flevlerini kullanma<\/h2>\n<p>Aritmeti\u011fi Tarih ve Saatlerle Kullanma b\u00f6l\u00fcm\u00fcndeki \u00fc\u00e7\u00fcnc\u00fc \u00f6rne\u011fi hat\u0131rlay\u0131n. Her ko\u015fucunun her yar\u0131\u015fta ko\u015ftu\u011fu toplam saati hesaplamak i\u00e7in biti\u015f_saatini ba\u015flang\u0131\u00e7_saatinden \u00e7\u0131karmak \u00fczere a\u015fa\u011f\u0131daki sorguyu \u00e7al\u0131\u015ft\u0131rm\u0131\u015ft\u0131k. Ancak \u00e7\u0131kt\u0131, tabloda ayarlanan TIMESTAMP veri t\u00fcr\u00fcn\u00fc izleyen \u00e7ok uzun bir \u00e7\u0131kt\u0131 i\u00e7eren bir s\u00fctunla sonu\u00e7land\u0131:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT runner_name, race_name, end_time - start_time \r\nAS total_time \r\nFROM race_results;<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-------------+---------------+----------------+\r\n| runner_name | race_name | total_time |\r\n+-------------+---------------+----------------+\r\n| bolt | 1600_meters | 20220918000630 |\r\n| bolt | 5K | 20221019002231 |\r\n| bolt | 10K | 20221120003805 |\r\n| bolt | half_marathon | 20221221013904 |\r\n| bolt | full_marathon | 20230122032310 |\r\n| felix | 1600_meters | 20220918000715 |\r\n| felix | 5K | 20221019003050 |\r\n| felix | 10K | 20221120011017 |\r\n| felix | half_marathon | 20221221021157 |\r\n| felix | full_marathon | 20230122040210 |\r\n+-------------+---------------+----------------+\r\n10 rows in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>Farkl\u0131 veri t\u00fcrlerine sahip iki s\u00fctunda i\u015flem yapt\u0131\u011f\u0131n\u0131z i\u00e7in (end_time TIMESTAMP de\u011ferlerini ve start_time TIME de\u011ferlerini tutar), veritaban\u0131 i\u015flemin sonucunu yazd\u0131r\u0131rken hangi veri t\u00fcr\u00fcn\u00fc kullanaca\u011f\u0131n\u0131 bilemez. Bunun yerine, i\u015flemi ger\u00e7ekle\u015ftirmek i\u00e7in her iki de\u011feri de tam say\u0131lara d\u00f6n\u00fc\u015ft\u00fcr\u00fcr ve bu da total_time s\u00fctununda uzun say\u0131larla sonu\u00e7lan\u0131r.<\/p>\n<p>Bu verileri daha anla\u015f\u0131l\u0131r ve anla\u015f\u0131l\u0131r k\u0131lmak i\u00e7in, bu uzun tamsay\u0131 de\u011ferlerini TIME veri t\u00fcr\u00fcne d\u00f6n\u00fc\u015ft\u00fcrmek \u00fczere CAST i\u015flevini kullanabilirsiniz. Bunu yapmak i\u00e7in, CAST ile ba\u015flay\u0131n ve hemen ard\u0131ndan a\u00e7\u0131k bir parantez, d\u00f6n\u00fc\u015ft\u00fcrmek istedi\u011finiz de\u011ferleri ve ard\u0131ndan AS anahtar s\u00f6zc\u00fc\u011f\u00fcn\u00fc ve d\u00f6n\u00fc\u015ft\u00fcrmek istedi\u011finiz veri t\u00fcr\u00fcn\u00fc ekleyin.<\/p>\n<p>A\u015fa\u011f\u0131daki sorgu \u00f6nceki \u00f6rnekle ayn\u0131d\u0131r, ancak total_time s\u00fctununu zaman veri t\u00fcr\u00fcne d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in bir CAST i\u015flevi kullan\u0131r:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT runner_name, race_name, CAST(end_time - start_time AS time)\r\nAS total_time \r\nFROM race_results;<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-------------+---------------+------------+\r\n| runner_name | race_name | total_time |\r\n+-------------+---------------+------------+\r\n| bolt | 1600_meters | 00:06:30 |\r\n| bolt | 5K | 00:22:31 |\r\n| bolt | 10K | 00:38:05 |\r\n| bolt | half_marathon | 01:39:04 |\r\n| bolt | full_marathon | 03:23:10 |\r\n| felix | 1600_meters | 00:07:15 |\r\n| felix | 5K | 00:30:50 |\r\n| felix | 10K | 01:10:17 |\r\n| felix | half_marathon | 02:11:57 |\r\n| felix | full_marathon | 04:02:10 |\r\n+-------------+---------------+------------+\r\n10 rows in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>CAST, bu \u00e7\u0131kt\u0131daki veri de\u011ferlerini TIME&#039;a d\u00f6n\u00fc\u015ft\u00fcrd\u00fc ve bu sayede okunmas\u0131 ve anla\u015f\u0131lmas\u0131 \u00e7ok kolay hale geldi.<\/p>\n<p>\u015eimdi, her ko\u015fucunun sonu\u00e7lar\u0131n\u0131n en k\u0131sa, en uzun ve toplam s\u00fcresini bulmak i\u00e7in CAST i\u015fleviyle birlikte baz\u0131 toplama i\u015flevlerini kullanal\u0131m. \u0130lk olarak, MIN i\u015fleviyle harcanan minimum (veya en k\u0131sa) s\u00fcreyi aray\u0131n. Yine, netlik sa\u011flamak i\u00e7in TIMESTAMP veri de\u011ferlerini TIME veri de\u011ferlerine d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in CAST i\u015flevini kullanabilirsiniz. Bu \u00f6rnekteki gibi iki i\u015flev kullan\u0131rken iki parantez kullan\u0131lmas\u0131 gerekti\u011fini ve toplam saat hesaplamas\u0131n\u0131n (biti\u015f_saati - ba\u015flang\u0131\u00e7_saati) bunlardan birine yerle\u015ftirilmesi gerekti\u011fini l\u00fctfen unutmay\u0131n. Son olarak, ko\u015fucunun yar\u0131\u015f sonu\u00e7lar\u0131 \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6r\u00fcnt\u00fclemek i\u00e7in bu de\u011ferleri runner_name s\u00fctununa g\u00f6re d\u00fczenlemek \u00fczere bir GROUP BY ifadesi ekleyin:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT runner_name, MIN(CAST(end_time - start_time AS time)) AS min_time\r\nFROM race_results GROUP BY runner_name;<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-------------+----------+\r\n| runner_name | min_time |\r\n+-------------+----------+\r\n| bolt | 00:06:30 |\r\n| felix | 00:07:15 |\r\n+-------------+----------+\r\n2 rows in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>Bu \u00e7\u0131kt\u0131 ko\u015fucunun en k\u0131sa s\u00fcresini g\u00f6steriyor, bu durumda Bolt i\u00e7in en az alt\u0131 dakika 30 saniye, Felix i\u00e7in ise yedi dakika 15 saniye.<\/p>\n<p>Ard\u0131ndan, her \u00e7al\u0131\u015ft\u0131r\u0131c\u0131 i\u00e7in en uzun y\u00fcr\u00fctme s\u00fcresini bulun. \u00d6nceki ifadeyle ayn\u0131 s\u00f6zdizimini kullanabilirsiniz, ancak bu sefer MIN yerine MAX kullan\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT runner_name, MAX(CAST(end_time - start_time AS time)) AS max_time\r\nFROM race_results GROUP BY runner_name;<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-------------+----------+\r\n| runner_name | max_time |\r\n+-------------+----------+\r\n| bolt | 03:23:10 |\r\n| felix | 04:02:10 |\r\n+-------------+----------+\r\n2 rows in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>Bu \u00e7\u0131kt\u0131 bize Bolt&#039;un en uzun ko\u015fu s\u00fcresinin toplamda \u00fc\u00e7 saat 23 dakika 10 saniye oldu\u011funu g\u00f6steriyor. Felix&#039;in ise toplamda d\u00f6rt saat 2 dakika 10 saniye oldu\u011funu.<\/p>\n<p>\u015eimdi, her ko\u015fucunun toplam ka\u00e7 saat ko\u015ftu\u011funa dair \u00fcst d\u00fczey bilgileri sorgulayal\u0131m. Bu sorgu i\u00e7in, SUM i\u015flevini kullanarak biti\u015f_saati - ba\u015flang\u0131\u00e7_saati temelinde toplam saatleri bulun ve bu veri de\u011ferlerini TIME&#039;a d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in CAST kullan\u0131n. Her ko\u015fucunun sonu\u00e7 de\u011ferlerini d\u00fczenlemek i\u00e7in GROUP BY eklemeyi unutmay\u0131n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>SELECT runner_name, SUM(CAST(end_time - start_time AS time))\r\nAS total_hours FROM race_results GROUP BY runner_name;<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n+-------------+-------------+\r\n| runner_name | total_hours |\r\n+-------------+-------------+\r\n| bolt | 52880 |\r\n| felix | 76149 |\r\n+-------------+-------------+\r\n2 rows in set (0.00 sec)<\/code><\/pre>\n<\/div>\n<p>\u0130lgin\u00e7tir ki, bu \u00e7\u0131kt\u0131 MySQL&#039;in toplam s\u00fcreyi tam say\u0131 olarak yorumlad\u0131\u011f\u0131n\u0131 g\u00f6steriyor. Bu sonu\u00e7lar\u0131 zaman olarak okursak, Bolt&#039;un toplam s\u00fcresi be\u015f saat, 28 dakika ve 80 saniyeye b\u00f6l\u00fcn\u00fcr. Felix&#039;in s\u00fcresi ise yedi saat, 61 dakika ve 49 saniyeye b\u00f6l\u00fcn\u00fcr. G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, bu mant\u0131ksal bir zaman da\u011f\u0131l\u0131m\u0131 de\u011fil, bir zaman olarak de\u011fil, tam say\u0131 olarak hesapland\u0131\u011f\u0131n\u0131 g\u00f6steriyor. \u00d6rne\u011fin, bunu PostgreSQL gibi farkl\u0131 bir DBMS&#039;de denerseniz, ayn\u0131 sorgu biraz farkl\u0131 g\u00f6r\u00fcnecektir:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>SELECT runner_name, SUM(CAST(end_time - start_time AS time))\r\nAS total_hours FROM race_results GROUP BY runner_name;<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nrunner_name | total_hours\r\n-------------+-------------\r\nfelix | 10:01:44\r\nbolt | 06:09:20\r\n(2 rows)<\/code><\/pre>\n<\/div>\n<p>Bu durumda, PostgreSQL&#039;deki sorgu, de\u011ferleri zaman olarak yorumlar ve hesaplar, b\u00f6ylece Felix&#039;in sonu\u00e7lar\u0131 toplamda 10 saat, bir dakika ve 44 saniyeye, Bolt&#039;un sonu\u00e7lar\u0131 ise alt\u0131 saat, dokuz dakika ve 20 saniyeye d\u00fc\u015fer. Bu, farkl\u0131 DBMS uygulamalar\u0131n\u0131n, ayn\u0131 sorguyu ve veri k\u00fcmesini kullansalar bile veri de\u011ferlerini nas\u0131l farkl\u0131 yorumlayabilece\u011finin bir \u00f6rne\u011fidir.<\/p>\n<h2 id=\"%d9%86%d8%aa%db%8c%d8%ac%d9%87\">Sonu\u00e7<\/h2>\n<p>SQL&#039;de tarih ve saatlerin nas\u0131l kullan\u0131laca\u011f\u0131n\u0131 anlamak, dakika, saniye, saat, g\u00fcn, ay, y\u0131l gibi belirli sonu\u00e7lar\u0131 ararken veya bunlar\u0131n bir kombinasyonunu ararken faydal\u0131d\u0131r. Ayr\u0131ca, ge\u00e7erli tarih veya saat gibi belirli de\u011ferleri bulmay\u0131 kolayla\u015ft\u0131ran bir\u00e7ok tarih ve saat i\u015flevi vard\u0131r. Bu e\u011fitim yaln\u0131zca SQL&#039;de tarih ve saatlerle ilgili toplama ve \u00e7\u0131karma i\u015flemlerini ele alsa da, tarih ve saat de\u011ferlerini herhangi bir matematiksel ifadeyle kullanabilirsiniz. Matematiksel ifadeler ve toplama i\u015flevleri k\u0131lavuzumuzdan daha fazla bilgi edinin ve bunlar\u0131 tarih ve saat aramalar\u0131n\u0131zda deneyin.<\/p>","protected":false},"excerpt":{"rendered":"Giri\u015f \u0130li\u015fkisel veritabanlar\u0131 ve Yap\u0131land\u0131r\u0131lm\u0131\u015f Sorgu Dili (SQL) ile \u00e7al\u0131\u015f\u0131rken \u015funlar\u0131 yapabilirsiniz\u2026","protected":false},"author":1,"featured_media":15975,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0627\u0631\u06cc\u062e \u0648 \u0632\u0645\u0627\u0646 \u062f\u0631 SQL","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_opengraph-image":"","_yoast_wpseo_twitter-description":"","_yoast_wpseo_twitter-image":"","_yoast_wpseo_focuskeywords":"","_yoast_wpseo_primary_category":"193","footnotes":""},"categories":[193,349],"tags":[403,391],"class_list":{"0":"post-15974","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tutorials","8":"category-database","9":"tag-data-base","10":"tag-mysql"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0627\u0631\u06cc\u062e \u0648 \u0632\u0645\u0627\u0646 \u062f\u0631 SQL - \u0628\u0644\u0627\u06af ITPiran<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.itpiran.net\/blog\/tr\/tutorials\/how-to-work-with-dates-and-times-in-sql\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0627\u0631\u06cc\u062e \u0648 \u0632\u0645\u0627\u0646 \u062f\u0631 SQL - \u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"og:description\" content=\"\u0645\u0642\u062f\u0645\u0647 \u0647\u0646\u06af\u0627\u0645 \u06a9\u0627\u0631 \u0628\u0627 \u067e\u0627\u06cc\u06af\u0627\u0647 \u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u0631\u0627\u0628\u0637\u0647 \u0627\u06cc \u0648 \u0632\u0628\u0627\u0646 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 (SQL)\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itpiran.net\/blog\/tr\/tutorials\/how-to-work-with-dates-and-times-in-sql\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-25T08:40:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.itpiran.net\/2024\/07\/25111554\/SQL-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1793\" \/>\n\t<meta property=\"og:image:height\" content=\"1110\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\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:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\"},\"headline\":\"\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0627\u0631\u06cc\u062e \u0648 \u0632\u0645\u0627\u0646 \u062f\u0631 SQL\",\"datePublished\":\"2024-07-25T08:40:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/\"},\"wordCount\":182,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/07\\\/25111554\\\/SQL-1.jpg\",\"keywords\":[\"data base\",\"MySQL\"],\"articleSection\":[\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"\u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/\",\"name\":\"\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0627\u0631\u06cc\u062e \u0648 \u0632\u0645\u0627\u0646 \u062f\u0631 SQL - \u0628\u0644\u0627\u06af ITPiran\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/07\\\/25111554\\\/SQL-1.jpg\",\"datePublished\":\"2024-07-25T08:40:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/07\\\/25111554\\\/SQL-1.jpg\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/07\\\/25111554\\\/SQL-1.jpg\",\"width\":1793,\"height\":1110},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-work-with-dates-and-times-in-sql\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/category\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0627\u0631\u06cc\u062e \u0648 \u0632\u0645\u0627\u0646 \u062f\u0631 SQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"name\":\"\u0628\u0644\u0627\u06af ITPiran\",\"description\":\"\u0627\u062e\u0628\u0627\u0631 \u0648 \u0645\u0642\u0627\u0644\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\",\"name\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"alternateName\":\"ITPIran Blog\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"width\":512,\"height\":512,\"caption\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\",\"name\":\"admin\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tr\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SQL&#039;de tarih ve saatlerle nas\u0131l \u00e7al\u0131\u015f\u0131l\u0131r - ITPiran Blog","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:\/\/www.itpiran.net\/blog\/tr\/tutorials\/how-to-work-with-dates-and-times-in-sql\/","og_locale":"tr_TR","og_type":"article","og_title":"\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0627\u0631\u06cc\u062e \u0648 \u0632\u0645\u0627\u0646 \u062f\u0631 SQL - \u0628\u0644\u0627\u06af ITPiran","og_description":"\u0645\u0642\u062f\u0645\u0647 \u0647\u0646\u06af\u0627\u0645 \u06a9\u0627\u0631 \u0628\u0627 \u067e\u0627\u06cc\u06af\u0627\u0647 \u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u0631\u0627\u0628\u0637\u0647 \u0627\u06cc \u0648 \u0632\u0628\u0627\u0646 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 (SQL)\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a&hellip;","og_url":"https:\/\/www.itpiran.net\/blog\/tr\/tutorials\/how-to-work-with-dates-and-times-in-sql\/","og_site_name":"\u0628\u0644\u0627\u06af ITPiran","article_published_time":"2024-07-25T08:40:56+00:00","og_image":[{"width":1793,"height":1110,"url":"https:\/\/cdn.itpiran.net\/2024\/07\/25111554\/SQL-1.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"admin","Tahmini okuma s\u00fcresi":"5 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/#article","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/"},"author":{"name":"admin","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81"},"headline":"\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0627\u0631\u06cc\u062e \u0648 \u0632\u0645\u0627\u0646 \u062f\u0631 SQL","datePublished":"2024-07-25T08:40:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/"},"wordCount":182,"commentCount":0,"publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/07\/25111554\/SQL-1.jpg","keywords":["data base","MySQL"],"articleSection":["\u0622\u0645\u0648\u0632\u0634\u06cc","\u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/","url":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/","name":"SQL&#039;de tarih ve saatlerle nas\u0131l \u00e7al\u0131\u015f\u0131l\u0131r - ITPiran Blog","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/#primaryimage"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/07\/25111554\/SQL-1.jpg","datePublished":"2024-07-25T08:40:56+00:00","breadcrumb":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/"]}]},{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/#primaryimage","url":"https:\/\/cdn.itpiran.net\/2024\/07\/25111554\/SQL-1.jpg","contentUrl":"https:\/\/cdn.itpiran.net\/2024\/07\/25111554\/SQL-1.jpg","width":1793,"height":1110},{"@type":"BreadcrumbList","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-work-with-dates-and-times-in-sql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itpiran.net\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0622\u0645\u0648\u0632\u0634\u06cc","item":"https:\/\/www.itpiran.net\/blog\/category\/tutorials\/"},{"@type":"ListItem","position":3,"name":"\u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0627\u0631\u06cc\u062e \u0648 \u0632\u0645\u0627\u0646 \u062f\u0631 SQL"}]},{"@type":"WebSite","@id":"https:\/\/www.itpiran.net\/blog\/#website","url":"https:\/\/www.itpiran.net\/blog\/","name":"ITPiran Blog","description":"\u0130ran S\u00fcrd\u00fcr\u00fclebilir Ticaret Haberleri ve Makaleleri","publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itpiran.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":"Organization","@id":"https:\/\/www.itpiran.net\/blog\/#organization","name":"S\u00fcrd\u00fcr\u00fclebilir \u0130ran \u0130\u015fletmeleri Blogu","alternateName":"ITPIran Blog","url":"https:\/\/www.itpiran.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","contentUrl":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","width":512,"height":512,"caption":"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81","name":"y\u00f6netici","url":"https:\/\/www.itpiran.net\/blog\/tr\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/posts\/15974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/comments?post=15974"}],"version-history":[{"count":3,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/posts\/15974\/revisions"}],"predecessor-version":[{"id":15978,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/posts\/15974\/revisions\/15978"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/media\/15975"}],"wp:attachment":[{"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/media?parent=15974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/categories?post=15974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/tr\/wp-json\/wp\/v2\/tags?post=15974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}