从SQLite中的当前日期获取记录

从SQLite中的当前日期获取记录,sql,sqlite,Sql,Sqlite,在MSSQL中使用 where DateDiff(Day,CurrentDate,getdate())=0 显示从CurrentDate创建的所有记录 如何在Sqlite中实现这一点?我建议使用DATEDIFF或涉及CurrentDate字段的任何其他函数将导致查询无法利用该字段上的任何索引 更好的方法是将WHERE子句编写为WHERE CurrentDate>=DATEADD(DAY,DATEDIFF(DAY,'2000-01-01',GETDATE(),'2000-01-01'))-

在MSSQL中使用

 where   DateDiff(Day,CurrentDate,getdate())=0
显示从CurrentDate创建的所有记录


如何在Sqlite中实现这一点?

我建议使用DATEDIFF或涉及
CurrentDate
字段的任何其他函数将导致查询无法利用该字段上的任何索引

更好的方法是将WHERE子句编写为
WHERE CurrentDate>=DATEADD(DAY,DATEDIFF(DAY,'2000-01-01',GETDATE(),'2000-01-01'))
-或任何其他在比较中保持
CurrentDate
不变的重写


注意:可能有更好的方法将日期和时间转换为日期-我的方法基于MSSQL 2008年之前的T-SQL。

我建议使用DATEDIFF或任何其他涉及
CurrentDate
字段的函数将导致查询无法利用该字段上的任何索引

WHERE CurrentDate BETWEEN DATE('now') AND DATE('now', '+1 day')
更好的方法是将WHERE子句编写为
WHERE CurrentDate>=DATEADD(DAY,DATEDIFF(DAY,'2000-01-01',GETDATE(),'2000-01-01'))
-或任何其他在比较中保持
CurrentDate
不变的重写

注意,可能有更好的方法将日期和时间转换为日期-我的方法基于MSSQL 2008之前的T-SQL

WHERE CurrentDate BETWEEN DATE('now') AND DATE('now', '+1 day')
资料来源:

资料来源:


虽然您的观点是正确的,但OP似乎要求使用与T-SQL截短时间戳为日期的方式相对应的SQLite。基本上,您是在评论发布的特定截断方法,而不是回答问题。虽然您的观点是正确的,但OP似乎要求使用与T-SQL截短时间戳到日期的方式相对应的SQLite。您本质上是在评论发布的特定截断方法,而不是回答问题。