起征税3000
create or replace function tax(v_salary in number) return number is
v_expense number;
--本级速算扣除额=上一级最高所得额×(本级税率-上一级税率)+上一级速算扣除数
v_quick_deduction number := 0;
v_temp number;
begin
v_temp := v_salary - 3000;
if v_temp <= 1500 then
v_temp := v_temp * 0.05;
elsif v_temp > 1500 and v_temp <= 4500 then
v_temp := v_temp * 0.1;
v_quick_deduction := 1500*(0.1-0.05) + 0;
elsif v_temp > 4500 and v_temp <= 9000 then
v_temp := v_temp * 0.2;
v_quick_deduction := 4500*(0.2-0.1) + 1500*(0.1-0.05);
elsif v_temp > 9000 and v_temp <= 35000 then
v_temp := v_temp * 0.25;
v_quick_deduction := 9000*(0.25-0.2) + 4500*(0.2-0.1) ;
elsif v_temp > 35000 and v_temp <= 55000 then
v_temp := v_temp * 0.3;
v_quick_deduction := 35000*(0.3-0.25) + 9000*(0.25-0.2);
elsif v_temp > 55000 and v_temp <= 80000 then
v_temp := v_temp * 0.35;
v_quick_deduction := 55000*(0.35-0.3) + 35000*(0.3-0.25);
elsif v_temp > 80000 then
v_temp := v_temp * 0.45;
v_quick_deduction := 80000*(0.45-0.35) + 55000*(0.35-0.3);
else
dbms_output.put_line('进来就不收你钱!');
v_temp := 0;
end if;
v_expense := v_temp - v_quick_deduction;
return(v_expense);
end tax;
测试: select tax(5000) from dual;
结果:125
分享到:
相关推荐
Oracle 函数用法 Oracle 函数是Oracle数据库中的一种编程对象,它允许用户定义自己的函数,以便在SQL语句中调用。 Oracle 函数的用法可以分为以下几个方面: 函数调用限制 在 Oracle 中,函数可以在 SQL 语句中被...
oracle function.rar
Decrible the functions using in the Oracle, you could use them to program for PL/SQL
### Oracle Function 返回结果集 #### 知识点概述 在Oracle数据库中,有时我们需要创建一个函数来返回一个结果集(即一系列记录),而非单一值。本文档中的代码示例展示了如何定义一个返回自定义表类型的函数`Ns_...
oracle-function-执行动态sql(包括DML、DLL、DQL、DCL)
在"Oracle的几个Function实例"这个主题中,我们将探讨一些常见的Oracle函数,并通过实际示例来理解它们的用法。 1. ** NVL 函数**: NVL函数用于处理空值(NULL)。如果一个字段的值为NULL,NVL函数会将其替换为你...
根据提供的信息,我们可以总结出以下有关Oracle Function在实现银行企业账对账中的应用与细节。 ### Oracle Function在银行企业账对账中的应用 #### 1. **Function Get_RevokeRecImport 的实现** 此函数用于处理...
ORACLE 操作 XML 的 function 函数 ORACLE 操作 XML 的 function 函数是指在 Oracle 数据库中对 XML 数据进行操作和处理的函数集。这些函数可以实现 XML 数据的解析、生成、转换、查询和验证等操作。下面是 ORACLE ...
这可以通过创建和应用`PASSWORD_VERIFY_FUNCTION`来实现。`PASSWORD_VERIFY_FUNCTION`允许我们自定义一个PL/SQL函数,该函数将在用户尝试更改密码时进行验证,确保新密码满足预设的复杂度规则。以下是在Oracle 11g ...
Oracle SQL 函数是数据库管理中不可或缺的一部分,它们用于处理和操作数据,提供了一种强大的工具集来执行各种计算、转换和数据提取任务。在Oracle 8i版本中,SQL内置函数涉及了数字格式化和日期格式化等多个方面。 ...
execute immediate str_sql into tabtcn; --动态执行DDL语句
简绍oracle的内置函数,方便查看
本资料"Oracle_function.zip_oracle"包含的"Oracle_function.chm"帮助手册正是为了解析和理解Oracle中的各种函数而准备的。 首先,我们要明白函数是预定义的代码块,可以接受一个或多个输入(参数),执行特定操作...
Oracle培訓Oracle Procedure﹑Function、Trigger等
Oracle SQL 函数是数据库查询和管理中的重要工具,它们允许用户执行各种操作,如数据转换、计算、格式化等。在Oracle 8i版本中,内置的SQL函数提供了丰富的功能来处理数字、日期和字符串类型的数据。以下是这些函数...
Oracle SQL function.pptx
Oracle数据库是世界上最流行的关系型数据库管理系统之一,它提供了丰富的编程元素来实现复杂的业务逻辑,如过程(PROCEDURE)和函数(FUNCTION)。在本教程中,我们将深入探讨如何在Oracle中创建、调用以及删除这两...