我正在将Sql Server查询转换为sqlite,我正在学习SQLite查询.无论这是我遇到困难的一个领域,那就是约会.
DATEADD(dd, 0, DATEDIFF(dd, 0, tblSomeTable.EventDate)) >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
Run Code Online (Sandbox Code Playgroud)
在sqlite中相当于什么?先感谢您.
事件日期字段是可接受的日期时间格式 - "YYYY-MM-DD HH:MM:SS.SSS"
DateTime 在 SQLite 中存储为 TEXT,因此您可以只比较字符串:
CREATE TABLE tblSomeTable (EventDate TEXT);
INSERT INTO tblSomeTable (EventDate) VALUES
(strftime('%Y-%m-%d %H:%M:%f', 'now', '-1 day')),
(strftime('%Y-%m-%d %H:%M:%f', 'now' )),
(strftime('%Y-%m-%d %H:%M:%f', 'now', '+1 day'));
SELECT EventDate,
substr(EventDate, 1, 10),
strftime('%Y-%m-%d', 'now'),
substr(EventDate, 1, 10) >= strftime('%Y-%m-%d', 'now')
FROM tblSomeTable;
SELECT EventDate,
substr(EventDate, 1, 10),
date(),
substr(EventDate, 1, 10) >= date()
FROM tblSomeTable;
Run Code Online (Sandbox Code Playgroud)
两种情况的结果(在本次编辑之日:-)将是:
2016-01-14 12:34:56.789|2016-01-14|2016-01-15|0
2016-01-15 12:34:56.789|2016-01-15|2016-01-15|1
2016-01-16 12:34:56.789|2016-01-16|2016-01-15|1
Run Code Online (Sandbox Code Playgroud)