我怎样才能通过这种方式删除我的行?
我的桌子:
sqlite> .schema mytable
CREATE TABLE mytable (_id INTEGER PRIMARY KEY, hash TEXT, date TEXT);
我想删除(当前时间 - 存储时间)> 10 秒的所有行。我的查询不起作用:
DELETE FROM mytable WHERE (datetime('now') - datetime(date)) > 10;
提前致谢!
我怎样才能通过这种方式删除我的行?
我的桌子:
sqlite> .schema mytable
CREATE TABLE mytable (_id INTEGER PRIMARY KEY, hash TEXT, date TEXT);
我想删除(当前时间 - 存储时间)> 10 秒的所有行。我的查询不起作用:
DELETE FROM mytable WHERE (datetime('now') - datetime(date)) > 10;
提前致谢!
也许这会起作用:
DELETE FROM mytable WHERE datetime('now') > datetime(date, '+10 seconds')
首先,您必须确保您的字段中有有效的 SQLite 日期和时间字符串date
(您没有显示该字段包含哪些数据的任何示例)。
然后,您必须使用此处描述的方法之一http://www.sqlite.org/cvstrac/wiki/wiki?p=DateAndTimeFunctions将日期转换为可减去的内容。可能最直接的方法是使用%s
格式化字符串格式化每个值:
strftime('%s', 'now') - strftime('%s', date_col)