, bu iki datetime aralığını hesaplamak için nasıl:MySQL'de datetime arasındaki aralık nasıl hesaplanır? Örneğin
2009-09-18 00:00:00
2009-10-17 00:00:00
DÜZENLEME dk:
ben yıl-ay-gün saat formatında aralığını elde etmek anlamına saniye
, bu iki datetime aralığını hesaplamak için nasıl:MySQL'de datetime arasındaki aralık nasıl hesaplanır? Örneğin
2009-09-18 00:00:00
2009-10-17 00:00:00
DÜZENLEME dk:
ben yıl-ay-gün saat formatında aralığını elde etmek anlamına saniye
denemek olabilir:
mysql> select abs(datediff('2009-09-18 00:00:00', '2009-10-17 00:00:00'));
+-------------------------------------------------------------+
| abs(datediff('2009-09-18 00:00:00', '2009-10-17 00:00:00')) |
+-------------------------------------------------------------+
| 29 |
+-------------------------------------------------------------+
1 row in set (0.00 sec)
kılavuzu alıntı:
DATEDIFF()
dönerexpr1 – expr2
birinden itibaren gün içinde bir değer olarak ifade edilen diğerine tarih. expr1 ve expr2 tarih veya tarih ve zaman ifadeleridir.
Sadece değerlerin tarih bölümlerinde hesaplamada kullanılan vardır.
sadece tarihsaat çıkarabilir ve değerini döndürür:
select (şimdi() - aralık 2 gün) - (şimdi() - aralık 5 gün);
Sonuç bir tarih değil (bu durumda ondalık kodlanmış tarih - üç gün boyunca 3000000), ama tarih veri ve aynı veri türü olarak bir aralık düşünmek doğru değildir.
Ya da böyle timestampdiff() kullanın: (mikrosaniye, Zamanınızı, şimdi())
İlk parametre mysql datetime ünitesi, iş olabilir
timestampdiff "mikrosaniye, ikinci , dakika, saat, gün, yıl ", ve bu işlev, 3. parametre datetime eksi 2. parametre tarihidir.
mysql> select timestampdiff(second, "2009-09-18 00:00:00", "2009-10-17 00:00:00"); +---------------------------------------------------------------------+ | timestampdiff(second, "2009-09-18 00:00:00", "2009-10-17 00:00:00") | +---------------------------------------------------------------------+ | 2505600 | +---------------------------------------------------------------------+ 1 row in set (0.00 sec)