如何更新空数据字段以匹配另一列数据字段?

时间:2015-10-16 18:05:16

标签: sql database oracle

我有一个带有'user_id'列的表。在同一个表格中,我有另一个标有“GMID”的数据字段。在该GMID列中,有一些字段为空,非空字段具有与该行内的user_id数据字段匹配的值。有没有办法创建一个脚本或查询来更新GMID列中的所有空字段,以匹配该行中user_id行中的相应数据值?我应该遵循哪些最佳实践,采用不同的方法?提前感谢任何可以提供帮助的人。

2 个答案:

答案 0 :(得分:3)

当然有

UPDATE your_table
SET GMID=user_id
WHERE GMID IS NULL

但如果GMID始终与user_id相同,您甚至不需要WHERE。

顺便说一句,为什么在一个表中需要两列具有相同数据的列?

答案 1 :(得分:1)

另一种方法是使用' coalesce'功能。它将返回第一个非null值。此方法不涉及表格上的数据更改。在查询中,您可以选择合并(GMID,user_id)作为GMID ...'它将返回非空的第一列。

oracle DB的文档: http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions023.htm

更新:我刚刚颠倒了合并函数中的列名...