Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用同一表中的现有数据更新DATETIME字段_Datetime_Sqlite_Strftime - Fatal编程技术网

如何使用同一表中的现有数据更新DATETIME字段

如何使用同一表中的现有数据更新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

我有一个sqlite数据库,它当前保存一个名为Year的整数字段,该字段当前只存储年份。在未来的版本中,我希望存储完整的日期和时间

我使用ALTERTABLE更新了我的表,以包含FullDate字段

> 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';

这将做完全相同的事情。日期不是按类型存储的,但可以根据日期和时间函数进行计算。

这可以解释很多问题。谢谢