Sql 将数据从一列复制到另一列并处理空情况
我正在将一些数据从一列传输到另一列,我不知道如何处理第一列可为空而第二列不可为空的情况 COLUMN1有一些值或null,我想将这些值复制到COLUMN2中,并去掉null值。如何以最佳方式覆盖空案例?也就是说,如果我在第1列中有null,我想用一个特定的值来标记它,例如第2列中的0。我希望COLUMN2具有非null约束。其余的值将被复制 基本上是这样的,但在某种程度上也适用于null:Sql 将数据从一列复制到另一列并处理空情况,sql,oracle,Sql,Oracle,我正在将一些数据从一列传输到另一列,我不知道如何处理第一列可为空而第二列不可为空的情况 COLUMN1有一些值或null,我想将这些值复制到COLUMN2中,并去掉null值。如何以最佳方式覆盖空案例?也就是说,如果我在第1列中有null,我想用一个特定的值来标记它,例如第2列中的0。我希望COLUMN2具有非null约束。其余的值将被复制 基本上是这样的,但在某种程度上也适用于null: INSERT INTO table (COLUMN2) SELECT COLUMN1 FROM table
INSERT INTO table (COLUMN2) SELECT COLUMN1 FROM table;
任何想法都很感激
谢谢 我想您需要的是
更新
,而不是插入
:
update table
set column2 = coalesce(column1, 0);
编辑:
如果您的insert
语句确实是您想要做的,那么您可以将逻辑放在那里:
INSERT INTO table(COLUMN2)
SELECT coalesce(COLUMN1, 0)
FROM table;
我不知道那个神奇的功能!很容易!谢谢=)