Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查找时间字符串大于当前时间的行_Php_Mysql_Sql_Select - Fatal编程技术网

Php 查找时间字符串大于当前时间的行

Php 查找时间字符串大于当前时间的行,php,mysql,sql,select,Php,Mysql,Sql,Select,我在一个表中有一列,用于跟踪删除的内容。它只通过php time()函数保存一个时间戳。我现在需要找到那些包含90天前或更长时间前创建的时间戳的行。我在这个问题上遇到了麻烦 这就是我认为有效的方法 SELECT * FROM `table` WHERE (table.deleted + (90 * 24 * 60 * 60)) >= CURRENT_TIMESTAMP 使用间隔时间怎么样 ... WHERE table.deleted < (now() - interval 90

我在一个表中有一列,用于跟踪删除的内容。它只通过php time()函数保存一个时间戳。我现在需要找到那些包含90天前或更长时间前创建的时间戳的行。我在这个问题上遇到了麻烦

这就是我认为有效的方法

SELECT * FROM `table` WHERE (table.deleted + (90 * 24 * 60 * 60)) >= CURRENT_TIMESTAMP

使用间隔时间怎么样

... WHERE table.deleted < (now() - interval 90 DAY)
。。。其中table.deleted<(现在()-间隔90天)

这将获取其
table.deleted
值早于90天的所有记录。

如何使用间隔

... WHERE table.deleted < (now() - interval 90 DAY)
。。。其中table.deleted<(现在()-间隔90天)

这将获取其
table.deleted
值早于90天的所有记录。

您让操作员走错了方向。您希望文件在90天前删除,因此:

SELECT * FROM `table` WHERE (table.deleted + (90 * 24 * 60 * 60)) <= CURRENT_TIMESTAMP;

SELECT*FROM`table`WHERE(table.deleted+(90*24*60*60))您让操作员走错了方向。您希望文件在90天前删除,因此:

SELECT * FROM `table` WHERE (table.deleted + (90 * 24 * 60 * 60)) <= CURRENT_TIMESTAMP;
从'table'中选择*,其中(table.deleted+(90*24*60*60))
上述示例要求:

  • 行中的时间戳必须为unix_timestamp()格式(您至少可以从bash、php和mysql创建unix时间戳)
  • 用行的名称替换“lastrequest”
  • 实际上,从行的内容中减去当前时间戳(MySQL中的unix_timestamp()),然后检查差值是否大于7776000(即90天)

    希望能有帮助

    上述示例要求:

  • 行中的时间戳必须为unix_timestamp()格式(您至少可以从bash、php和mysql创建unix时间戳)
  • 用行的名称替换“lastrequest”
  • 实际上,从行的内容中减去当前时间戳(MySQL中的unix_timestamp()),然后检查差值是否大于7776000(即90天)


    希望能有所帮助。

    我认为没有更快、更简单或更好的方法。我在这个表的数据库中总共有14行。使用这个例子,结果是给我所有14行,而它应该只给我几行。@JoshWoelfel你能给我一个SQLFiddle或一些示例输入来玩吗?显然,这应该可以。我认为没有更快、更简单或更好的方法。我在这个表的db中总共有14行。使用这个例子,结果是给我所有14行,而它应该只给我几行。@JoshWoelfel你能给我一个SQLFiddle或一些示例输入来玩吗?显然这应该可以。我想你想把
    =
    切换到
    这个问题解决了吗?我想你想把
    =
    切换到
    这个问题解决了吗?不管我的操作符在哪一方,使用这个示例的结果都是14行。我应该只接收不到14行。不管操作符在哪一边,使用此示例的结果都是所有14行。我应该只收到不到14行。