淘先锋技术网

首页 1 2 3 4 5 6 7

oracle的update与if多个判断怎么用?

下边是我自己写的,但是执行起来报错,请前辈们解答,感谢~

update salary201911 set 个税 =

  (

  case when 计税金额 =36000 then 计税金额*3%-年度个税累计  when  36000计税金额 =144000 then 计税金额*10% - 2520 - 年度个税累计

  when 144000计税金额 =300000 then 计税金额*20% - 16920 - 年度个税累计

  when 300000计税金额 =420000 then 计税金额*25% - 31920 - 年度个税累计

  when 420000计税金额 =660000 then 计税金额*30% - 52920 - 年度个税累计

  when 660000计税金额 =960000 then 计税金额*35% - 85920 - 年度个税累计

  else 计税金额*45% - 181920 - 年度个税累计

  end

  );

oracle怎么写IF语句?

oracle的if语句采用decode函数。

DECODE(value,if1,then1,if2,then2,if3,then3,...,else)

表示如果value 等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else

示例:

比如,有个if语句如下

if(a==1){//如果a等于1,返回2,否则返回3

   return 2;

}else{

   return 3;

}

翻译成DECODE如下

DECODE(a,1,2,3)

oracle 视图 if 语句的使用

Create Or Replace View mark_v

As

Select Id,Case score When '优' Then '90' When '中' Then '75' When '差' Then '30' Else score End As score

From mark

或者还有个简单的写法:

Create Or Replace View mark_v

As

Select Id,decode(score,'优','90','中','75','差','30',score) As score

From mark

以上希望对你有所帮助

oracle怎么写"IF"语句?

如果是 SQL 语句里面使用。

使用 DECODE 或者 CASE WHEN

DECODE 的用法就是

DECODE(abc, 50, 'A', 'B')

CASE WHEN 的用法就是

CASE WHEN abc=50 THEN 'A' ELSE 'B' END

如果是在存储过程里面的话,就是简单的 IF/ELSE 了

SQL 语句的话,就是

SELECT

abc, DECODE(abc, 50, 'A', 'B')

FROM

oracle中简单if用法的问题

pl/sql的代码一般都是写在过程,函数和触发器中,你写的话要注意,单写一段也没有什么问题

pl/sql的select语句要有东西接住查询出来的值。这是与sql不同的地方:

DECLARE

v_tmp VARCHAR2(100);

BEGIN

IF 1=1 THEN

SELECT 1 INTO v_tmp FROM DUAL;

dbms_output.put_line(v_tmp);

END IF;

END;