First of all, I would say that you should not use this predicate in SQL Server, because including columns in the expression prevents SQL Server from using any index. If this predicate is the only one in the where clause, then SQL Server will scan the entire table.
However, the predicate can be rewritten as follows:
tblSomeTable.EventDate >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) AND tblSomeTable.EventDate < DATEADD(dd, 1, DATEDIFF(dd, 0, GETDATE()))
Thus, if there is an index in the EventDate column, SQL Server will use it if it covers the query or if it is sufficiently selective.
The same rule applies to SQLite.
Assuming EventDate is stored as an ISO8601 string. A predicate can be written for SQLite as follows:
EventDate LIKE date('now') || '%'
If there is an index in the EventDate column, SQLite can use it.
How are your dates stored in SQLite? Could you post how SQLiteSpy show them?
EDIT:
ABOUT! Sorry I realized that I’m missing the >= . I saw = instead of >= . My answer was correct if the operator was = . For >= my answer should be:
tblSomeTable.EventDate >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
For SQL Server. A:
EventDate >= date('now')
For SQLite.
I'm getting older, sorry.