MySQL ile iki tarih arasındaki fark

Maya TakvimiÇok basit gibi görünmesine rağmen programcıya sıkıntı çıkaran durumların başında gelir zaman fonksiyonları.

MySQL sağolsun bize tarih saat ile ilgili zibille fonksiyon verir ama iki zaman arasındaki gün sayısını veren direk bir fonksiyon yoktur.  Bunun için en basit yöntem iki zaman arasındaki saniye farkını alıp, bir günün 86400 saniye olmasından yola çıkarak işlem yapmaktır.

Örneğin :

SELECT TIME_TO_SEC( TIMEDIFF( '2011-06-06 12:12:12', '2011-05-05 10:10:10' ) ) / 86400

Yukardaki SQL sorgusu bize ondalık sistemde 32.0847 sayısını üretecektir.

MySQL DATEDIFF kullanarak

SELECT ( DATEDIFF( '2011-06-06 12:12:12', '2011-05-05 10:10:10' ) )

SQL kodunu çalıştırdığımızda 32 verecektir.

Halbuki toplam gün sayımız 32 günden fazladır ve sonuç yanıltıcı olacaktır.

Özetle budur.

2 thoughts on “MySQL ile iki tarih arasındaki fark

  1. Coşkun Soysal

    Ağustos 21, 2013 at 6:42am

    Elbette edebilirsiniz. Kodun amacı o zaten.

Bir Cevap Yazın

Your email will not be published. Name and Email fields are required.

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>