MySQL'de Tarih İşlemleri: Fonksiyonlar ve Örnekler

MySQL'de Tarih İşlemleri: Fonksiyonlar ve Örnekler

MySQL'de tarih işlemleri için faydalı olan tarih fonksiyonlarını öğrenmek isteyenler için hazırlanan bu yazıda, veritabanında tarih ve saat bilgisini saklama yöntemleri ve MySQL tarafından sağlanan bazı tarih fonksiyonları açıklanmaktadır Bu fonksiyonlar arasında NOW , DATE ve TIME fonksiyonları gibi popüler fonksiyonlar yer almaktadır Bunların yanı sıra, örneklerle desteklenmiş bu yazı, okuyucuların MySQL'deki tarih işlemleri konusunda daha iyi bir anlayışa sahip olmasına yardımcı olacaktır

MySQL'de Tarih İşlemleri: Fonksiyonlar ve Örnekler

MySQL veritabanı yönetim sistemi, kullanıcıların tarih ve zaman verilerini saklamasını ve işlemesini sağlar. Tarih işlemleri yapmak için MySQL'deki tarihsel fonksiyonların nasıl kullanılacağını öğrenmek önemlidir. Bu, gerekli verilerin doğru şekilde saklanmasını ve gerektiğinde alınmasını sağlayacaktır.

Bu yazı, MySQL'de tarih işlemleri hakkında bilgi edinmek isteyenler için hazırlanmıştır. MySQL tarafından sağlanan tarih fonksiyonlarının yanı sıra, bunları kullanarak gerçek dünya örnekleri de sunulacaktır. Bunlar, tarih işlemlerini nasıl kullanabileceğinizi anlamanıza yardımcı olacaktır.


Tarih Veri Türü

MySQL, tarih ve saat veri türleriyle birlikte çalışabilen bir veritabanı yönetim sistemidir. Tarih veri türü, yıl, ay ve gün gibi değerlerin tutulduğu bir veri tipidir. MySQL'de tarih veri türü için kullanılan en yaygın format, 'YYYY-MM-DD' şeklindedir. Bunun yanı sıra, zaman bilgilerini de içeren 'YYYY-MM-DD hh:mm:ss' formatı da kullanılabilir.

Tarih veri türü, birçok farklı işlemde kullanılabilir. Örneğin, bir etkinliğin tarihini tutmak, bir yarışmanın son başvuru tarihini belirlemek veya bir ürünün son kullanma tarihini takip etmek için kullanılabilir. Tarih veri türü ayrıca, birçok tarih fonksiyonuyla kullanılarak daha karmaşık işlemler gerçekleştirilebilir.

  • Tarih veri türü, kullanımı kolay bir yapıya sahiptir ve birçok farklı formatı destekler.
  • MySQL'de tarih veri türü için kullanılan standart format, 'YYYY-MM-DD' şeklindedir.
  • Tarih veri türü, birçok farklı işlemde kullanılabilir ve tarih fonksiyonlarıyla daha karmaşık işlemler gerçekleştirilebilir.

Tarih Fonksiyonları

MySQL'de tarih fonksiyonları, birçok işlemi daha kolay ve hızlı bir şekilde yapmanızı sağlar. Bu fonksiyonlar, belirli tarihlerin, saatlerin, zaman dilimlerinin, formatların, eklemelerin ve çıkarmaların kolayca hesaplanmasına yardımcı olur. İşte MySQL'deki tarih fonksiyonlarının tanımları ve kullanımları:

  • NOW(): Bu fonksiyon, geçerli zamanı ve tarihi döndürür. Genellikle, bir tabloya yeni bir kayıt eklerken, tarih ve saat bilgisini otomatik olarak eklemek için kullanılır. Örneğin: INSERT INTO ogrenci (ad, soyad, dogum_tarihi) VALUES ('Emre', 'Yıldız', NOW());
  • DATE(): Bu fonksiyon, tarihin yalnızca tarih kısmını döndürür. Genellikle, tarihle ilgili sadece işlem yapılacaksa kullanılır. Örneğin: SELECT DATE('2021-09-01 14:16:00');
  • TIME(): Bu fonksiyon, tarihin yalnızca zaman kısmını döndürür. Genellikle, zamanla ilgili sadece işlem yapılacaksa kullanılır. Örneğin: SELECT TIME('2021-09-01 14:16:00');

Bu fonksiyonlar, MySQL'de tarih işlemleri yaparken oldukça kullanışlıdır. İstediğiniz tarihi, zamana veya formatlamaya göre geri almak ya da hesaplamak için fonksiyonları kullanabilirsiniz.


NOW() Fonksiyonu

MySQL'deki NOW () fonksiyonu, geçerli tarihi ve saat bilgisini almak için kullanılır. Bu fonksiyon, verileri sunulan tarih ve saat formatında geri döndürür. NOW () fonksiyonu sadece tarihi değil, aynı zamanda saatin de dahil olduğu tam bir tarih ve saat bilgisi sağlar.

NOW () fonksiyonu, sorgulama zamanında çalışır ve herhangi bir parametre almadan kullanılabilir. Fonksiyon, sunucunun saati ve zaman dilimindeki herhangi bir farklılığı dikkate alır ve doğru, güncel tarih ve saat bilgisini geri döndürür.

Örneğin, bir veritabanına kaydedilen tarih ve saat bilgisinin doğruluğundan emin olmak istediğinizde NOW () fonksiyonunu kullanabilirsiniz. Fonksiyonu kullanarak, veritabanına kaydedilen tarih ve saat bilgisiyle sistem saatini karşılaştırabilirsiniz.

Özetle, NOW () fonksiyonu MySQL'deki tarih fonksiyonları arasında en çok kullanılanlardan biridir ve sorgulama zamanında sunucunun tam tarih ve saat bilgisini geri döndürür. Bu fonksiyon, veritabanında tutulan tarih ve saat bilgisini güncellemek veya doğrulamak istediğinizde kullanışlıdır.


DATE() Fonksiyonu

MySQL'deki DATE() fonksiyonu, tarih veri türü içinden sadece tarihi alma işlemi için kullanılır. Bu fonksiyon ile yıl, ay ve gün bilgileri alınabilir. DATE() fonksiyonu, içerisine bir parametre alarak tarihin biçimini belirler ve belirtilen biçime göre tarihin sadece gün, ay ve yıl bilgileri alınır.

Örneğin, "SELECT DATE('2022-01-27 14:30:00')" komutu kullanarak, sadece tarihin "2022-01-27" bilgisine ulaşabiliriz. DATE() fonksiyonu, tarih ve saat bilgisinden sadece tarihi alan birçok sorgu yapabilmemize olanak sağlar.

Ayrıca, DATE() fonksiyonu içine bir başka fonksiyonu da alabilir. Örneğin, "SELECT DATE(NOW())" kullanarak, fonksiyon içinde NOW() fonksiyonunun kullanımıyla geçerli tarih bilgisine erişebilir ve sadece gün, ay ve yıl bilgilerini elde edebiliriz.

DATE() fonksiyonu ile elde edilen tarih bilgileri, farklı formatlarda da gösterilebilir. Örnek olarak, "SELECT DATE_FORMAT('2022-01-27', '%m/%d/%Y')" kullanarak, tarihi "01/27/2022" formatında gösterilebilir. Bu fonksiyon içerisindeki "%m", ay bilgisini, "%d" gün bilgisini ve "%Y" yıl bilgisini temsil eder.

DATE() fonksiyonu, MySQL'de tarih işlemleri yaparken sadece tarihi işlemek istediğimiz durumlar için oldukça kullanışlı bir fonksiyondur.


TIME() Fonksiyonu

MySQL'deki tarih fonksiyonlarından biri de TIME () fonksiyonudur. Bu fonksiyon, tarih ve saat bilgisinden sadece saat kısmını almanızı sağlar. TIME () fonksiyonu, aynı zamanda saat biçiminde bir değer sonucuna dönüştürür.

Aşağıdaki örnek tablo, TIME () fonksiyonunun kullanımını gösterir:

Veri Türü Örnek Değer TIME () Fonksiyonu Sonucu
TIME '22:30:45' '22:30:45'
DATETIME '2021-05-14 22:30:45' '22:30:45'

Yukarıdaki tablo, bir zaman damgası değeri (datetime) kullanılarak görüntülenen saat değerini gösterir. TIME () fonksiyonu, tarihi atlar ve sadece saat bilgisini alır.

Özetlemek gerekirse, MySQL'deki TIME () fonksiyonu, tarih ve saat bilgisinden sadece saat kısmını almanızı sağlar. Bu fonksiyon, belirli bir tarih verisindeki saat bilgisinin işlenmesine olanak tanır ve işlevsel bir araçtır.


Tarih Örnekleri

Tarih fonksiyonları kullanarak MySQL'de yapılan örnekler aracılığıyla tarih işlemlerinin nasıl gerçekleştirildiğini daha iyi anlayabiliriz. İşte bazı örnekler:

Bu örnekte, INSERT INTO statement kullandık ve datetimem sütununa tarih ve saat bilgisi girdik:

ID Ad Datetimem
1 Ahmet 2021-12-12 15:30:00
2 Mehmet 2021-12-13 09:15:00

Yukarıdaki tabloda Datetimem sütununa veri girişlerimizi görebilirsiniz.

Bu örnek, NOW () fonksiyonu kullanılarak geçerli tarihin nasıl alınacağını gösteriyor. Geçerli tarih, 'YYYY-MM-DD HH:MM:SS' formatında veya belirtilen format ile birlikte alınabilir. Örneğin:

  • SELECT NOW ();
  • SELECT DATE_FORMAT(NOW(), '%d.%m.%Y %H:%i:%s');

Yukarıdaki komutları kullanarak geçerli tarihi alabilirsiniz.

Bu örnekte DATE () ve TIME () fonksiyonları kullanılarak tarih ve saat bilgileri ayrıştırılır. Örneğin:

  • SELECT DATE(Datetimem) AS Tarih FROM TabloAdi;
  • SELECT TIME(Datetimem) AS Saat FROM TabloAdi;

Bu komutlar, Datetimem sütunundan sırasıyla tarih ve saat bilgilerini ayrıştırarak Tarih ve Saat sütunlarını oluşturur.


Örnek 1: Veritabanına tarih ve saat bilgisinin kaydedilmesi

Veritabanına tarih ve saat bilgisinin kaydedilmesi, birçok uygulamanın temel özelliklerinden biridir. Bu özellik, özellikle işletme uygulamalarında oldukça önemli bir rol oynamaktadır. MySQL'de tarih ve saat bilgisinin kaydedilmesi oldukça kolaydır. Bunun için DATE ve TIME veri türleri kullanılır.

Örnek olarak, öğrenci kayıt sistemi tasarlayan bir uygulama düşünelim. Veritabanı, kayıt olunan tarih ve saat bilgisini tutarak öğrencilerin kayıt tarihi ve saati hakkında bilgi sağlar. Bunun için, 'tarih' ve 'saat' şeklinde iki sütun oluşturabilirsiniz.

CREATE TABLE ogrenciler ( ad VARCHAR(20), soyad VARCHAR(20), kayit_tarihi DATE, kayit_saati TIME);

Bu kodu çalıştırdıktan sonra, veritabanınızda 'ogrenciler' adlı tablo oluşacaktır. Kayıt tarihi ve kayıt saati değerleri, tarih ve saat veri türleri ile sırasıyla 'kayit_tarihi' ve 'kayit_saati' sütunlarında saklanır. Bir veya daha fazla öğrencinin kaydedilmesi için INSERT INTO ve VALUES ifadelerini kullanabilirsiniz:

INSERT INTO ogrenciler (ad, soyad, kayit_tarihi, kayit_saati)VALUES ('Ahmet', 'Yılmaz', '2021-08-26', '14:25:00');

Bu şekilde öğrenci kayıt sistemi için gerekli olan tarih ve saat bilgisini veritabanınıza kaydedebilirsiniz. Artık tarih ve saat değerlerini, herhangi bir sorgu kullanarak kolayca çekebilirsiniz.


Örnek 2: Geçerli tarihin alınması

MySQL'de tarih işlemleri hakkında bilgi edinirken, geçerli tarihi almanız gerekebilir. Bu durumda kullanabileceğiniz bir fonksiyon NOW() fonksiyonudur. NOW() fonksiyonu geçerli tarihi ve saati içeren bir değer döndürür. NOW() fonksiyonu şu şekilde kullanılır:

```SELECT NOW();```

Bu sorgu, geçerli tarihi ve saati içeren bir sonuç döndürür. Örneğin, eğer şu anda 2021-10-15 17:15:30 ise, sorgu sonucu şu olacaktır:

```+---------------------+| NOW() |+---------------------+| 2021-10-15 17:15:30 |+---------------------+```

Geçerli tarihi sadece tarih veya saat bilgisiyle almak isterseniz, DATE() ve TIME() fonksiyonlarını kullanabilirsiniz. DATE() fonksiyonu sadece tarih bilgisini, TIME() fonksiyonu ise sadece saat bilgisini döndürür.

```SELECT DATE(NOW());SELECT TIME(NOW());```

Bu sorgular sırasıyla geçerli tarihi ve geçerli saati döndürür.

NOW() fonksiyonu tarih ve saat bilgilerinin bulunduğu bir kolon değeriyle birlikte de kullanılabilir. Bu sayede veritabanına kaydedilen kayıtların oluşturulma tarihlerini takip edebilirsiniz. Örneğin, aşağıdaki sorgu, "order_date" adlı bir kolona, geçerli tarihin ve saatin nesne oluşturulduğu zamanda kaydedilmesini sağlar:

```INSERT INTO orders (order_id, order_date, customer_name)VALUES (1, NOW(), 'John Doe');```

Bu sorgu, "orders" adlı bir tabloya, "order_id", "order_date" ve "customer_name" kolonlarıyla birlikte bir kayıt ekler.

MySQL'deki tarih fonksiyonları hakkında daha fazla bilgi edinmek isterseniz, DATE_FORMAT() fonksiyonunun kullanımını da öğrenebilirsiniz. DATE_FORMAT() fonksiyonuyla tarih ve saat bilgilerinin formatlanması mümkündür.


Örnek 3: Tarih ve saat bilgilerinin ayrıştırılması

MySQL'de tarih ve saat bilgilerini ayrıştırabilmek için DATE () ve TIME () fonksiyonları kullanılır. Bu fonksiyonlar tarih ve saat bilgilerini ayrı ayrı verir ve girdi olarak tarih ve saat bilgisini kabul eder. DATE () fonksiyonu, tarihten sadece tarihi değerini alırken, TIME () fonksiyonu sadece saat bilgisini alır. Örneğin, aşağıdaki sorgu ile veritabanında bulunan 'tarih_ve_saat' tablosundaki 'tarih_saat' sütunundaki tarih ve saat bilgileri, DATE () ve TIME () fonksiyonları kullanılarak ayrıştırılabilir:
Tablo İsmi Sütun İsmi Değer
tarih_ve_saat tarih_saat '2022-09-28 17:30:00'

SELECT tarih_saat, DATE(tarih_saat) as tarih, TIME(tarih_saat) as saat FROM tarih_ve_saat;

Yukarıdaki sorgu, 'tarih_ve_saat' tablosundaki 'tarih_saat' sütunundaki tarih ve saat bilgisini ayrıştırmak için kullanılır. Sorguda, DATE () fonksiyonu ile 'tarih_saat' sütunundan sadece tarihi değeri alınırken, TIME () fonksiyonu ile sadece saat bilgisi alınır. Bu şekilde, tarih ve saat bilgileri ayrı ayrı ele alınarak işlem yapılabilir.DATE () ve TIME () fonksiyonları MySQL tarih işlemlerinde oldukça kullanışlıdır. Bu fonksiyonlar sayesinde, tarih ve saat bilgileri ayrıştırılarak işlem yapılması kolaylaştırılır. Bu da veritabanı yönetimi ve raporlama gibi işlemlerde oldukça faydalıdır.

Tarih İşlemlerinde Kullanılan Özel Karakterler

MySQL'deki tarih işlemleri için kullanılan özel karakterlerin tanımları ve kullanımları oldukça önemlidir. Bu özel karakterler, tarih formatlarını belirlemekte ve tarih verileri üzerinde çeşitli işlemler gerçekleştirilmesine olanak tanımaktadır.

Birçok farklı özel karakter vardır, ancak en sık kullanılanlar %d, %m, %Y, %H, %i ve %s'dir. %d, günü temsil ederken; %m, ayı; %Y, yılı; %H, saati; %i, dakikayı ve %s, saniyeyi belirtmek için kullanılır.

Bu özel karakterler, tarih verileri üzerinde birçok işlem yapmak için de kullanılabilir. Bu işlemler arasında tarihleri karşılaştırma, sıralama, aralık belirleme ve fark hesaplama gibi işlemler yer alır.

Aşağıdaki tablo, tarih işlemlerinde sık kullanılan özel karakterlerin tanımlarını ve kullanımlarını özetlemektedir:

Özel Karakter Açıklama Örnek Kullanım
%d Gün (01-31) SELECT * FROM tablo WHERE DAY(tarih) = '15'
%m Ay (01-12) SELECT * FROM tablo WHERE MONTH(tarih) = '03'
%Y Yıl (4 haneli) SELECT * FROM tablo WHERE YEAR(tarih) = '2022'
%H Saat (00-23) SELECT * FROM tablo WHERE HOUR(tarih) = '17'
%i Dakika (00-59) SELECT * FROM tablo WHERE MINUTE(tarih) = '30'
%s Saniye (00-59) SELECT * FROM tablo WHERE SECOND(tarih) = '45'

Ayrıca, tarih işlemlerinde kullanılan DATE_FORMAT() fonksiyonu, tarih verilerini istenilen özel karakter formatına göre biçimlendirmek için kullanılabilir. Bu fonksiyon sayesinde, tarih verileri istenilen formatta görüntülenebilir.

Sonuç olarak, MySQL'deki tarih fonksiyonları ve özel karakterler hakkında bilgi sahibi olmak, veritabanlarındaki tarih verileri üzerinde çeşitli işlemler gerçekleştirmek için oldukça önemlidir. Bu özellikler sayesinde, tarih verileri daha kolay ve doğru şekilde yönetilebilir.


DATE_FORMAT() Fonksiyonu

MySQL'in DATE_FORMAT() fonksiyonu, tarih formatlama için oldukça yararlı bir araçtır. Bu fonksiyon, belirli bir tarih formatına göre tarih verilerini biçimlendirmek için kullanılır. Örneğin, tarihi yıl-açılımı formatında göstermek istediğimizde, DATE_FORMAT() fonksiyonunu kullanarak tarih verilerini belirli bir formatta kolayca görüntüleyebiliriz.

DATE_FORMAT() fonksiyonunu kullanırken, iki parametre belirtmemiz gerekiyor. İlk parametre, biçimlendirmek istediğimiz tarih verisi ve ikincisi ise hangi tarih formatını kullanacağımızı belirten format dizesi. Format dizesi, özel karakterler ve aralıklarla birlikte belirlenir.

Bazı örnek DATE_FORMAT() kullanımları şunlardır:

  • %Y - Yılın tamamını temsil eder (örneğin 2021).
  • %m - Ayı temsil eder (örneğin 01-12 arasında).
  • %d - Günü temsil eder (örneğin 01-31 arasında).
  • %H - Saati 24 saatlik formatla temsil eder (örneğin 00-23 arasında).
  • %i - Dakikayı temsil eder (örneğin 00-59 arasında).
  • %s - Saniyeyi temsil eder (örneğin 00-59 arasında).

Örneğin, tarihi "14/02/2021" olarak biçimlendirelim. Bunun için aşağıdaki SQL komutunu kullanabiliriz:

SQL Komutu Sonuç
SELECT DATE_FORMAT('2021-02-14', '%d/%m/%Y'); 14/02/2021

DATE_FORMAT() fonksiyonu, tarih verilerimizi istediğimiz herhangi bir biçimde görüntülememizi sağlayarak verilerimizin okunabilirliğini artırır. Ayrıca, tarih verilerini veritabanımızda depolarken belirli bir formatta biçimlendirme işlemini gerçekleştirebiliriz.

DATE_FORMAT() fonksiyonu, tarih işlemleriyle ilgili programcıların işini kolaylaştıran bir araçtır. Tarih verilerimizi farklı formatlarda biçimlendirerek veritabanımızda daha iyi organize edebilir ve tarih verilerinin okunabilirliğini artırabiliriz.