2

作成および変更されたテーブルには 2 つの行があります。変更された - 作成された日を差し引いて、日をリストする必要があります(結果表に示されています)。

テーブル名:ユーザー

|-----|---------------------|---------------|
| id  |       created       |   modified    |
|-----|---------------------|---------------|
| 1   | 2013-04-12 17:49:26 |  2013-04-16   |
| 2   | 2013-04-12 20:20:25 |  2013-04-26   |
| 3   | 2013-04-12 12:24:23 |  2013-04-12   |
| 4   | 2013-04-18 19:03:47 |  2013-04-23   |
|-------------------------------------------|

以下に示すような結果が必要です..

|-----|----------------|
| id  |    days        |
|-----|----------------|
| 1   |     4          |
| 2   |     14         |
| 3   |     0          |
| 4   |     5          |
|----------------------|

どうやってするか?

4

4 に答える 4

4

DateDiff()これには関数を使用できます:

SELECT ID, Datediff (modified,created) AS days
FROM user

出力:

╔════╦══════╗
║ ID ║ DAYS ║
╠════╬══════╣
║  1 ║    4 ║
║  2 ║   14 ║
║  3 ║    0 ║
║  4 ║    5 ║
╚════╩══════╝

このSQLFiddleを参照してください

于 2013-05-08T07:14:22.843 に答える
0

これを試すことができます:

SELECT id, Datediff(modified,created) as days FROM user
于 2013-05-08T07:20:18.990 に答える
0

created と modified の両方が datetime 型であるとします。

SELECT id, DATEDIFF(modified, created) as days FROM result
于 2013-05-08T07:15:05.493 に答える
-1

これを行うには、php で DateTime::diff を使用できます。 http://www.php.net/manual/en/datetime.diff.php

DateTime クラスも使用したい。 http://www.php.net/manual/en/class.datetime.php

mysql では DATEDIFF() 関数を使用します https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff

于 2013-05-08T07:20:47.383 に答える