如何选择和计数不到1年的记录



我在Flutter应用程序中使用sqflite。在本例中,date是实际日期(2021年6月10日(,DATUM是数据库中的数据字段。

var x = await db.rawQuery('SELECT COUNT (*) FROM Shisha_table WHERE YEAR('+date+') - YEAR(DATUM) = 1');
int count = Sqflite.firstIntValue(x);
return count;

我一直得到这个语法错误:

E/SQLiteLog(30657(:(1(接近";。2021":"中的语法错误;从Shisha_table中选择计数(*(,其中(YEAR(10.06.2021(-YEAR(DATUM((=1";

SQLite中没有YEAR()函数

代码的逻辑可以通过使用函数strftime():提取日期的年份来编写

SELECT COUNT(*) 
FROM Shisha_table 
WHERE strftime('%Y', CURRENT_DATE) - strftime('%Y', DATUM) <= 1

或者,如果您想要从去年的同一日期到今天的行:

SELECT COUNT(*) 
FROM Shisha_table 
WHERE DATUM >= date(CURRENT_DATE, '-1 year')

相关内容

  • 没有找到相关文章

最新更新