如何在SQLITE中正确使用时间?

时间:2017-05-11 21:48:54

标签: sqlite

我有一个每隔几秒运行一次# The following rule tells Apache that if the requested filename # exists, simply serve it. RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [L] RewriteCond %{REQUEST_URI}::$1 ^(/.+)/Angular/(.*)::\2$ RewriteRule ^(.*) - [E=BASE:%1] RewriteRule ^(.*)$ %{ENV:BASE}/Angular/index.html [L] RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ RewriteRule ^(.*) - [E=BASE:%1] RewriteRule ^(.*)$ %{ENV:BASE}/index.php [L] 查询的表。使用该查询,我想删除所有超过30秒的条目。

目前我的表DELETE中有一个创建时间的值,其中包含自1970年1月1日以来的创建日期(以毫秒为单位)。

在我每隔30秒运行的creationdate integer查询中,我将其与当前时间进行比较:

DELETE

我在this文章中提到delete from table where creationdate < strftime('%s', 'now', '-30.0 seconds') 格式。

此查询不会删除条目,这是我的问题。它没有strftime语句,所以我猜这个函数就是问题。

我错过了什么,或者是否有更好的方法来解决这个问题?

编辑:如果没有where修饰符,它也无法工作,所以我认为我误解了-30.0 seconds的工作方式。也提到了this问题。

1 个答案:

答案 0 :(得分:0)

我发现了我的问题。我忽略了这样一个事实,即SQLite strftime('%s')SECONDS而不在MILLISECONDS中返回。