将日期从表X的三列添加到表Y的一列

时间:2019-07-01 05:20:35

标签: sqlite

嗨,我是sqlite的新手,我想知道是否可以将表X中的3列中的日期添加到表Y中的一列中。例如,在表X中,我有3列,分别称为startDay,startMonth,startYear 。我想将它们添加到表Y中名为Start_Date的一列中(可能采用DD / MM / YYYY格式)。也希望它所采用的格式应该能够执行计算,即减去2个日期。有什么想法吗?

1 个答案:

答案 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支持的格式以外的格式是个坏主意。这意味着您不能将其与函数一起使用,并且在您的情况下,还意味着您可以'没有按日期有意义的排序)