如果一个表达式成立,则....不成立则.....
这样的SQL应当如何写,可以用decode吗?以下是我的例子,但是有错误,请高手指正!在此谢过!
SQL> desc bb
名称
是否为空? 类型
----------------------------------------- -------- ------------
ID
NUMBER(38)
NAME
VARCHAR2(10)
FLAG
VARCHAR2(10)
SQL> select * from bb;
ID NAME FLAG
---------- ---------- ----------
1 555
2 444
3 aaa
4 bbb
想判断如果name是全数字的,则flag判断为"is number",否则为"isnot number",写了以下语句:
update bb set flag='is number' where decode(to_number(name),null,'no','yes')='yes' ;
以上语句提示"无效数字",
update bb set flag='is number' where decode(to_number(name),null,'no','yes')='yes'and rownum=1;
只更新了第一条记录,我是想一次性能来所有的记录是否是数字,请问应该怎么做?谢!
|