如何在sqlite3脚本中按日期=今天过滤

时间:2018-08-31 14:21:17

标签: csv batch-file cmd sqlite export-to-csv

这里我有一段代码,旨在对数据库(主要是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是导出的表的实际字段)

1 个答案:

答案 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()