2

我一直在寻找这个问题的答案,但找不到我需要的东西。我不敢尝试我编造的任何东西...

我想将一列(a 列)的值复制到另一列(b 列),但我只希望这种情况发生在 b 列中没有当前值的字段上。

提前感谢您的帮助。

4

4 回答 4

3

尝试

UPDATE table1
   SET b = a
 WHERE b IS NULL

这是SQLFiddle演示

如果bVARCHAR类型并且您认为空字符串也没有价值,那么您可以这样做

UPDATE table1
   SET b = a
 WHERE CHAR_LENGTH(COALESCE(b, '')) = 0

这是SQLFiddle演示

于 2013-06-11T20:32:49.803 回答
0

您可以只UPDATE使用您的表格并将您的 columnb 设置为与 a 列相同,仅在 b 列为空的情况下

UPDATE table
SET columnb = columna
WHERE columnb IS NULL

如果您的列有空字符串,只需使用WHERE columnb = ''

于 2013-06-11T20:32:54.660 回答
0

就像:

UPDATE MyTable
SET ColumnB = ColumnA
WHERE ColumnB IS NULL;
于 2013-06-11T20:33:08.320 回答
0
UPDATE tablename 
SET row1 = row2 
WHERE row2 IS NULL OR row2 = ''

这将同时考虑 NULL 和空行。

否则 - 只需发布您编造的内容,以便我们进行验证。

于 2013-06-11T20:33:51.353 回答