Php 查找时间字符串大于当前时间的行
我在一个表中有一列,用于跟踪删除的内容。它只通过php time()函数保存一个时间戳。我现在需要找到那些包含90天前或更长时间前创建的时间戳的行。我在这个问题上遇到了麻烦 这就是我认为有效的方法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
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行。