Php SQLite大于/小于运算符给出错误结果

Php SQLite大于/小于运算符给出错误结果,php,sql,sqlite,logic,Php,Sql,Sqlite,Logic,我有以下SQLite查询。它旨在删除过去三秒内未更新时间的所有条目 $expireTime = time() - 3; $dbh->query("DELETE FROM `whois_online` WHERE (strftime('%s', `time`) > $expireTime)"); 此查询不会返回表中的任何条目,即使它应该返回。但是,将更改为strftime()将返回字符串,而不是整数。您需要使用CAST()转换类型 SELECT CAST(strftime('%s',

我有以下SQLite查询。它旨在删除过去三秒内未更新时间的所有条目

$expireTime = time() - 3;
$dbh->query("DELETE FROM `whois_online` WHERE (strftime('%s', `time`) > $expireTime)");
此查询不会返回表中的任何条目,即使它应该返回。但是,将
更改为
strftime()
将返回字符串,而不是整数。您需要使用
CAST()
转换类型

SELECT CAST(strftime('%s', `time`) AS integer)
FROM whois_online
WHERE CAST(strftime('%s', `time`) AS integer) > 1400005440;
1400005363
1400005365
1400005368
1400005443
SELECT CAST(strftime('%s', `time`) AS integer)
FROM whois_online
WHERE CAST(strftime('%s', `time`) AS integer) > 1400005440;