嗨,我是sqlite的新手,我想知道是否可以将表X中的3列中的日期添加到表Y中的一列中。例如,在表X中,我有3列,分别称为startDay,startMonth,startYear 。我想将它们添加到表Y中名为Start_Date的一列中(可能采用DD / MM / YYYY格式)。也希望它所采用的格式应该能够执行计算,即减去2个日期。有什么想法吗?
答案 0 :(得分:0)
您可以执行以下操作:
CREATE TABLE newtable(start_date TEXT);
INSERT INTO newtable
SELECT printf('%d-%02d-%02d', startYear, startMonth, startDay)
FROM oldtable;
并计算两个日期之间的天数:
SELECT juliandate('2019-06-30') - juliandate('2019-06-29') AS diff;
diff
----------
1.0
(使用dd/mm/yyyy
之类的sqlite date and time functions支持的格式以外的格式是个坏主意。这意味着您不能将其与函数一起使用,并且在您的情况下,还意味着您可以'没有按日期有意义的排序)