我正在运行sqlite来为销售报告选择两个范围之间的数据.要从两个日期之间选择数据,请使用以下语句:
SELECT * FROM test WHERE date BETWEEN "11/1/2011" AND "11/8/2011";
Run Code Online (Sandbox Code Playgroud)
该声明甚至包括那些超出标准的日期.您看到输入的日期格式与我返回的格式相同.我不确定什么是错的,但感谢我能找到的任何帮助.谢谢!
Eri*_*lje 90
SQLLite要求日期YYYY-MM-DD格式.由于数据库中的数据和查询中的字符串不是该格式,因此可能会将"日期"视为字符串.
Utk*_*rım 32
将数据更改为格式以使用sqlite日期时间格式.
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD
SELECT * FROM test WHERE date BETWEEN '2011-01-11' AND '2011-08-11'
Run Code Online (Sandbox Code Playgroud)
AFD*_*AFD 13
在SQLite中选择日期的另一种方法是使用强大的strftime函数:
SELECT * FROM test WHERE strftime('%Y-%m-%d', date) BETWEEN "11-01-2011" AND "11-08-2011"
Run Code Online (Sandbox Code Playgroud)
根据https://sqlite.org/lang_datefunc.html,这些是等效的:
date(...)
strftime('%Y-%m-%d', ...)
Run Code Online (Sandbox Code Playgroud)
但如果你想要更多的选择,你就拥有它.
小智 5
SELECT *
FROM TableName
WHERE julianday(substr(date,7)||'-'||substr(date,4,2)||'-'||substr(date,1,2)) BETWEEN julianday('2011-01-11') AND julianday('2011-08-11')
Run Code Online (Sandbox Code Playgroud)
请注意,我使用的格式:dd/mm/yyyy. 如果使用d/m/yyyy,请更改substr()。
| 归档时间: |
|
| 查看次数: |
102290 次 |
| 最近记录: |