使用sqlite CLI(命令行界面)和日期

时间:2018-03-03 01:40:28

标签: date sqlite

我遇到sqlite问题并使用日期选择数据。我在macOS 10.12.5上使用sqlite3 CLI(版本3.16.0)。

我成功。从csv文件中导入数据,其中日期的格式为yyyy-MM-dd(例如2018-07-092018-12-31 - 即带有前导零的数据。)正在导入值到TEXT专栏。表格中select * ...的结果显示的值不带前导零,例如2018-7-9

问题:

A:使用sqlite3命令行界面,运行以下查询:

sqlite> select count(*) from reservations where staydate > "2018-1-1"; 916 这可以正常工作 - 表中有916行包含该数据。

B:然后我在WHERE子句中使用另一个标准运行相同的命令:

sqlite> select count(*) from reservations where staydate > "2018-1-1" and staydate < "2018-12-31"; 0 此结果不正确:查询返回零条目,但检查数据显示所有916个逗留日期(从上方)都在2018年,因此它们因某种原因被排除......

我的问题:

如何以直截了当的方式完成这项工作?我完全控制了导入的.csv文件中的数据格式,以及数据库中的表定义。

csv文件格式,表的列定义和CLI命令的最简单组合是什么,它将使其以明显的方式工作?谢谢。

1 个答案:

答案 0 :(得分:0)

如上面的评论中所述,CLI .import不会更改TEXT字段的格式。事实证明,我的数据文件有时会有几个月/几天的前导零,有时不会(例如,2017年7月9日或2017年9月7日甚至9/7/17)。在意识到这一点之后,对我的数据文件格式(对于规范的YYYY-MM-DD格式)的简单调整会导致一切按预期工作。感谢所有回复的人!