SQL UPDATE使用SELECT

时间:2015-03-11 09:24:54

标签: sql sqlite

我有一张表t1

date        |     timestamp
                  2015-02-01 00:00:00
                  2015-02-01 00:00:00
                  2015-02-02 00:00:00
                  2015:02:03 00:00:00

我正在尝试更新日期中的值,只是来自时间戳的日期。

这就是我正在使用的:

update t1 set date = (select date(timestamp) from t1);

但它将所有值设置为与第1行相同?

2 个答案:

答案 0 :(得分:1)

删除select

update t1 set date =  date(timestamp);

答案 1 :(得分:0)

您可以按以下方式使用from语句:

- MS SQL Server

Update t1 Set t1.date = date(t2.timestamp) from t1 as t2 where t1.Condintionfield=t2.ConditionField;

- SQLITE

Update t1 Set t1.date = (select date(t2.timestamp) from t1 as t2 where t2.conditionfield = t1.conditionfield);

希望这会对你有所帮助。