2009-09-22 14 views

答えて

9

何を試してみることがあります。マニュアルを引用

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) 

DATEDIFF()戻りexpr1 – expr2 は1 から日数の値として表現しました他の日付に日付。 expr1およびexpr2 は、日付または日付と時刻の式です。
数値の日付部分のみが計算に使用される です。

1

あなただけの日付時刻を引くことができ、それが値を返します。

select(now() - interval 2 day) - (now() - interval 5 day);

結果はdatetimeではありません(この場合、3桁の10進数のコード化された日付 - 3000000)が、datetimeとintervalを同じデータ型と見なすのは正しくありません。

1

又は(TIMESTAMPDIFFを使用して)次のように:

TIMESTAMPDIFF(マイクロ秒、yourtimeは、今())

最初のパラメータは、MySQL日時単位であり、第二、」マイクロ秒とすることができます、分、時、日、年 "となります。この関数は、3番目のパラメータdatetimeから2番目のパラメータdatetimeを引いたものです。

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) 
関連する問題