首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

简单有关问题

2012-01-19 
简单问题oracle中updatetable1setcolumn1xxxwhere....其中xxx条件为if(table1.column2 0andtable1.colu

简单问题
oracle中update   table1   set   column1   =   xxx   where   ....
其中xxx条件为if   (   table1.column2> =0   and   table1.column3= 'ABC '   )  
                                      exp1
                            else  
                                      exp2

怎么表达,谢谢!!!!!!!!


[解决办法]
楼主要的是这个?

update table
set column1=case when table1.column2> =0 and table1.column3= 'ABC ' then 'exp1 '
else 'exp2 ' end where ....

[解决办法]
SQL> SELECT * FROM TEST;

ID ID1 ID2 ID3
---------- ---------- ---------- ----------
1 1 3 4
2 1 -1 4
3 1 2 3
4 1 2 4

SQL> UPDATE TEST SET ID1=CASE WHEN (ID2> 0 AND ID3=4) THEN 2 ELSE 3 END;

已更新4行。

SQL> SELECT * FROM TEST;

ID ID1 ID2 ID3
---------- ---------- ---------- ----------
1 2 3 4
2 3 -1 4
3 3 2 3
4 2 2 4

热点排行
Bad Request.