我正在尝试更新列,使其不为0或null,并且它支持任何值>我这样做了,但它不起作用。我还没有很好地处理SQL,我没有看到任何明确的例子。
UPDATE TEST_MFE_AGRUP_PASARELA
SET POLIGON = 0
WHERE POLIGON > 0 AND POLIGON != 0;
这是正确的方法吗?
谢谢你们!
答案 0 :(得分:2)
您不需要检查空值。因为NULL > 0
返回false。
问题是NULL <> 0
也是假的,因此没有行更新。
所以你只需要:
WHERE POLIGON > 0
选中 SQL DEMO
with tab(country, car, price) as (
select 'Germany' ,'Mercedes', 30000 from dual union all
select 'Germany' ,'MERCEDES', 30000 from dual union all
select 'Germany' ,'BMW' , 20000 from dual union all
select 'Germany' ,'Opel' , 15000 from dual union all
select 'Japan' ,'Honda' , 20000 from dual union all
select 'Japan' ,'Toyota' , NULL from dual
)
select country, car, price
from tab
WHERE price > 15000
答案 1 :(得分:0)
我可能会误解你。
据我所知,如果该字段为0(零)或null(空),则要为Poligon字段赋值。如果是这种情况,您的where语句应为WHERE POLIGON=0 or POLIGON IS NULL