如何使用同一表中的现有数据更新DATETIME字段
我有一个sqlite数据库,它当前保存一个名为Year的整数字段,该字段当前只存储年份。在未来的版本中,我希望存储完整的日期和时间 我使用ALTERTABLE更新了我的表,以包含FullDate字段如何使用同一表中的现有数据更新DATETIME字段,datetime,sqlite,strftime,Datetime,Sqlite,Strftime,我有一个sqlite数据库,它当前保存一个名为Year的整数字段,该字段当前只存储年份。在未来的版本中,我希望存储完整的日期和时间 我使用ALTERTABLE更新了我的表,以包含FullDate字段 > ALTER TABLE Files ADD COLUMN UploadDate DATETIME DEFAULT 0; 接下来,我想将所有现有的年份字段迁移到新字段。所以我在寻找这样的东西: > UPDATE Files SET UploadDate = (DATETIME('%Y
> ALTER TABLE Files ADD COLUMN UploadDate DATETIME DEFAULT 0;
接下来,我想将所有现有的年份字段迁移到新字段。所以我在寻找这样的东西:
> UPDATE Files SET UploadDate = (DATETIME('%Y-%m-%d', Year, 1, 1));
不幸的是,这似乎不起作用,因为结果是空的。我还尝试了date和strftime函数,但它们要么导致数据不正确,要么导致数据为空
使用同一表中的现有数据更新日期时间字段的正确方法是什么?日期
和日期时间函数没有格式参数
更多信息:
主要问题是SQLite没有任何日期或时间类型,因此您可以使用以下内容填充字段:
UPDATE Files SET UploadDate = Year || '-01-01';
这将做完全相同的事情。日期不是按类型存储的,但可以根据日期和时间函数进行计算。这可以解释很多问题。谢谢