我正在创建一个新表,并继承上一个表中的一个字段。如果值不为null,我需要将值设置为1,否则将其保留为null。
这可以在没有更新语句的情况下实现吗?我知道在MSSQL中可以使用ISNULL函数,但Oracle呢?
CASE
可以做到这一点。例如:
create table new_table as
select case when that_column is null then null else 1 end as that_column,
other_column
from the_original_table
Oracle提供nvl2()
功能:
nvl2(col, 1, null)
但是,如果要更改值,则需要使用update
或以某种方式修改数据。