这里我有一段代码,旨在对数据库(主要是sqlite3语言)执行查询,然后将结果表导出到自动命名的csv文件中。
set fch=%date:~11,4%%date:~8,2%%date:~5,2%%time:~0,2%%time:~3,2%%time:~6,2%
sqlite3 -header -csv -cmd ".separator ','" C:\ProgramData\PROISER\ISASPSUS\datastore\dsfile.db "select * from analysis;" > holaa%fch%.xlsx
我的问题是如何在带引号的查询中插入一个过滤器,以仅显示与实际日期匹配的数据(date是导出的表的实际字段)
答案 0 :(得分:0)
使用strftime()
(sqlite date and time functions之一)格式化当前日期('now'
)的格式与数据库中使用的格式相同。在查询的WHERE子句中进行比较。
我建议将所有现有值转换为标准ISO-8601格式,而不要自己编写。这将使事情变得更容易,既可以与其他软件互操作,又可以使用sqlite函数和其他内置的日期/时间来操纵日期。
例如,如果您使用YYYY-MM-DD
格式,则可以
SELECT * FROM foo WHERE date_added = CURRENT_DATE
并完全避免使用strftime()
。