1

開始日が 2012 年 10 月 17 日で、終了日が 2012 年 10 月 18 日であるとします。

更新日を超えた行を選択したくないですか?

前もって感謝します!

4

4 に答える 4

2

これが動作デモです。

http://sqlfiddle.com/#!2/d41d8/2869

SELECT UNIX_TIMESTAMP('2012-10-19') - UNIX_TIMESTAMP('2012-10-18') as differece_seconds;

「日付引数を指定して UNIX_TIMESTAMP() を呼び出すと、引数の値が '1970-01-01 00:00:00' UTC からの秒数として返されます。」

単純に日付列で使用できます。確認してください: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp

于 2012-10-18T11:14:12.560 に答える
0

DATE/DATETIME列が適切な列であり、質問の日付文字列ではないと仮定すると、次の値を減算しますUNIX_TIMESTAMP()

SELECT UNIX_TIMESTAMP(date1_column) - UNIX_TIMESTAMP(date2_column) AS difference_seconds

上記で投稿した文字列形式で日付を保存している場合 (これは悪い考えです)、STR_TO_DATE()最初にそれらを適切な MySQL 日付に解析する必要があります。

SELECT UNIX_TIMSTAMP(STR_TO_DATE('17/10/2012','%d/%m/%%Y')) - UNIX_TIMSTAMP(STR_TO_DATE('18/10/2012','%d/%m/%%Y')) AS difference_seconds
于 2012-10-18T11:10:10.787 に答える
0
 select timestampdiff(second,'2012-10-16','2012-10-18');

出力は 172800 になります

于 2012-10-18T11:29:17.540 に答える
0

UNIX_TIMESTAMP()特定の日付のエポックからの秒数を取得するために使用します。次に、両方の値を減算します。

したがって、値 ( 一部DATEまたは) がそれぞれおよびDATETIMEに格納されていると仮定すると、 use は次のようなものを使用できます。col1col2

SELECT UNIX_TIMESTAMP( col1 ) - UNIX_TIMESTAMP( col2 ) AS diff FROM yourTable;
于 2012-10-18T11:11:03.957 に答える