简单更新错误

时间:2015-12-18 01:11:38

标签: sql

我正在尝试以下简单的SQL来更新每一行的列 最后两个条件(两个日期)相等的地方。但是没有行受到影响。

如果我省略where子句,则使用相同的列值更新。

UPDATE VyfjaarOntledings
SET LaasteSuiker = Suiker
WHERE LaasteMonsterDatum = Datum

有什么想法吗?

此致

3 个答案:

答案 0 :(得分:1)

由于您没有标记DBMS,假设您使用的是SQL Server ..

转换比较列以确保它具有相同的数据类型以避免错误。

<强>转换

UPDATE VyfjaarOntledings
SET LaasteSuiker = Suiker
WHERE CONVERT(DATE, LaasteMonsterDatum) = CONVERT(DATE, Datum)

<强> CAST

UPDATE VyfjaarOntledings
SET LaasteSuiker = Suiker
WHERE CAST(LaasteMonsterDatum AS DATE) = CAST(Datum AS DATE)

答案 1 :(得分:0)

我猜时间部分在LaasteMonsterDatumDatum列中有所不同。

尝试从日期中删除时间部分并更新

UPDATE VyfjaarOntledings
SET LaasteSuiker = Suiker
WHERE cast(LaasteMonsterDatum as date) = cast(Datum as date)

答案 2 :(得分:0)

日期列的格式可能有问题。为安全起见,请始终使用Cast或TO_Date函数来比较日期