时间戳和周数

Timestamps and addition of weeks

我的查询要求我找出呈阳性的人数及其正负 2 周的传染期。在我下面的查询中,我在 2 周时间戳

中一直为空
select PersonID, f_name || ' ' || L_name as 'Citizen', Timestamp, datetime ('Timestamp', '+2 Weeks')
from person natural join Testing
where Results is 'Positive';

我的公式有什么问题,为什么它不会在下一列中加上 2 周?

在数据库浏览器中,这是我必须用于日期时间的格式。

附加架构

您将两周添加到字符串 'Timestamp',而不是值。我想你打算:

select PersonID, f_name || ' ' || L_name as 'Citizen',
       Timestamp, datetime (Timestamp, '+2 Weeks')
from person p oin
     Testing
     using (PersonId)
where Results = 'Positive';

请注意,我还将“自然连接”更改为明确显示 join 条件的连接(我必须猜测它们是什么,因为您的问题未指定)。

我强烈反对使用“自然连接”——我根本不认为它是 自然连接。始终明确 join 条件。这有助于您阅读查询;这意味着查询没有意外行为,因为 table 中的两列恰好具有相同的名称,这意味着如果有人向 [= 添加新列,查询将随着时间的推移继续工作22=]s.

您不能使用 DATETIME() 函数添加周数。
添加 14 天:

datetime(Timestamp, '+14 days')

您可以在这里找到:Modifiers 您可以使用的所有修饰符。
列名也不能在单引号内。