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 回答