日期:2014-05-17  浏览次数:21077 次

這個語句爲什麽報錯 麻煩各位~
我通過SQL修改存儲過程,原SQL是這樣寫的
UPDATE   ATYW01   SET   EW=NULLIF((ISNULL(CD,0)/HCD*100),0)   FROM   ATYW01   WHERE   HCD <> 0   AND   HCD   IS   NOT   NULL;

爲什麽我改成
UPDATE   ATYW01   SET   EW=NULLIF((NVL(CD,0)/HCD*100),0)   FROM   ATYW01   WHERE   HCD <> 0   AND   HCD   IS   NOT   NULL;   它就報錯~   是在FROM那裏報錯,説是指令未正常結束~   我是不是得加個SELECT啊~   請教~

------解决方案--------------------
這是MSSQl中的寫法
Oracle:
update ATYW01 set EW=nvl(CD,0)/HCD*100
where HCD <> 0 and HCD is not NULL
------解决方案--------------------
ATYW01
就是表啊!
update 数据表
set 字段名1=赋值1,字段名2=赋值2..... where 条件