比如我有個用SQLite Studio創建的Sqlite3類型數據庫,里面有個表名為StatisticsData的表結構是 :
-- 表:StatisticsData CREATE TABLE "StatisticsData" ( "Id" TEXT NOT NULL, "MachineName" NVARCHAR, "SessionId" INTEGER, "ProcessId" INTEGER, "ProcessName" NVARCHAR, "ProcessRunningStatus" NVARCHAR, "WorkingSetMemory" NVARCHAR, "WorkingSetPrivateMemory" NVARCHAR, "WorkingSetPeak" NVARCHAR, "ThreadCount" NVARCHAR, "HandleCount" NVARCHAR, "TotalProcessorTime" NVARCHAR, "UserProcessorTime" NVARCHAR, "PrivilegedProcessorTime" NVARCHAR, "StartTime" DATETIME, "ExitTime" DATETIME, "Domain" NVARCHAR, "UserName" NVARCHAR, "FileName" NVARCHAR, "Arguments" NVARCHAR, "WorkingDirectory" NVARCHAR, "CreatedTime" DATETIME, PRIMARY KEY ("Id" ASC), CONSTRAINT "PK_Id" UNIQUE ("Id" ASC) )
舉例:
今天是2017-08-10,要刪除7天前的數據,也就是說,所有小於等於2017-08-03都要被刪掉。
寫法1:忽略時間精度,直接比較日期,刪除N天前的數據。
DELETE FROM StatisticsData WHERE date('now', '-7 day') >= date(CreatedTime);
寫法2:計算時間精度,比較日期和時間,刪除N天前的數據。
DELETE FROM StatisticsData WHERE julianday('now') - julianday(CreatedTime) >= 7;
有關時間運算和比較函數的官方教程:http://www.sqlite.org/lang_datefunc.html
翻譯自官網的中文參考:http://www.cnblogs.com/ygm900/p/4460644.html
作者:VAllen
出處:http://www.cnblogs.com/vallen
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
唯有偏執者得以生存。