我有一张表格,里面有给定日期的数据。有时我在某一天没有一行,因为那天我可能没有数据。现在当我查询得到结果时,我希望结果集包含从最早日期到最晚日期的每个日期的行。有没有办法形成一个查询,当结果集中缺少日期而不实际将它们插入数据库时,将生成默认行?日期列的格式为YYYY-MM-DD。
答案 0 :(得分:1)
无论数据类型是什么,您都可以为表中的任何列创建默认值。请阅读SQL DEFAULT Constraint。
CREATE TABLE Foo (
_id INTEGER PRIMARY KEY,
date TEXT DEFAULT '2012-08-17');
或者,如果您想在每次查询数据库时返回默认值,请使用IfNull():
SELECT IfNull(date, '2012-08-17') FROM Foo;
(我假设您的date
是文字,但您可以轻松更改此内容。)