`

sql if elsif and sql function

    博客分类:
  • SQL
 
阅读更多
select (
case (select count(1) from BY_TASK_WORKITEM where task_id='34424141') 
  when 0 then '没有完成的记录'
  else
 (select count(1) from BY_TASK_WORKITEM where task_id='34424141' and completion='已完成')/
 (select count(1) from BY_TASK_WORKITEM where task_id='34424141' ) *100 ||''
  end 
)  as  donetotal from dual

 

 

create or replace function getTotal(taskId in number) return varchar2 is
  num1 number;
  num2 number;
  resultStr varchar2(128);
  begin
     select count(1) into num1 from BY_TASK_WORKITEM where task_id=taskId;
     select count(1) into num2 from BY_TASK_WORKITEM where task_id=taskId and completion='已完成';
     if (num1=0  or num2 =0) then 
       resultStr:='没有完成的记录';
     else
       resultStr:=(num2/num1)*100||'%';
     end if;
     return  resultStr;
  end;

-- 调用
select (gettotal(26129857))from dual

 

分享到:
评论

相关推荐

    PostgreSQL_与_MS_SQLServer比较

    MS SQL Server 使用 `IF...ELSE` 语句,而 PostgreSQL 使用更接近 PL/pgSQL 的语法,例如: - **MS SQL Server**: ```sql IF @testvalue > 100 BEGIN PRINT('100+'); END ELSEIF @testvalue = 100 BEGIN PRINT('...

    pl/sql学习笔记

    条件控制语句如IF-THEN-ELSIF-ELSE和CASE语句允许根据条件执行不同的代码路径。这使得在处理数据时能够进行条件判断和分支操作。 7. **PROCEDURE** PROCEDURE是PL/SQL中的过程,是一组相关的PL/SQL语句,可以接受...

    ORACLE PL/SQL 程序设计(第五版)

    5. **控制结构**:深入理解IF、ELSIF、ELSE、CASE语句以及循环结构(WHILE、FOR),这些是实现逻辑流程的关键。 6. **游标**:学习如何使用游标来处理查询结果集,包括声明、打开、读取和关闭游标。 7. **子程序**...

    Plus SQL 程序设计

    1. **条件语句**:IF...ELSIF...ELSE语句用于根据不同的条件执行不同的代码块。例如,你可以检查一个值是否满足特定条件,如果满足则执行某操作,否则执行另一操作。 2. **循环语句**:WHILE、FOR和LOOP语句用于重复...

    Oracle PL/SQL实例编程(PL/SQL经典书籍)

    流程控制结构有IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环和GOTO。 4. **SQL操作**:PL/SQL可以直接嵌入SQL语句,进行数据查询、插入、更新和删除操作。游标允许程序逐行处理查询结果。 5. **异常处理**:PL/...

    PL/SQL基础

    PL/SQL支持多种控制流程结构,如条件语句(IF-THEN-ELSIF-ELSE)、循环(WHILE、FOR)、分支语句(CASE)等。这些结构使得你可以编写复杂的业务逻辑。 **控制流程语句**: - **IF-THEN-ELSIF-ELSE**:根据条件执行...

    oracle pl sql 实例精解 源代码

    这些练习通常设计得具有实际意义,旨在巩固每章学习的知识点,包括变量声明、条件语句(如IF-THEN-ELSIF)、循环(如FOR、WHILE)、游标(CURSOR)的使用、过程(PROCEDURE)和函数(FUNCTION)的创建以及异常处理...

    SQL-Plus Quick Reference

    2. 循环与条件语句:PL/SQL支持`FOR`循环、`WHILE`循环,以及`IF...THEN...ELSIF...ELSE`条件判断。 3. 存储过程与函数:这些是预编译的PL/SQL代码,可提高性能并提供封装和重用。创建存储过程使用`CREATE ...

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    1. **PL/SQL基础**:涵盖PL/SQL的基本语法,包括变量声明、常量定义、条件语句(IF-THEN-ELSIF-ELSE)、循环结构(WHILE, FOR)、异常处理(BEGIN-EXCEPTION-END)以及子程序(PROCEDURE和FUNCTION)的创建与调用。...

    Oracle PL/SQL学习官方教材

    2. **流程控制**:PL/SQL提供了多种流程控制结构,如条件语句(IF-THEN-ELSIF-ELSE)、循环(WHILE、FOR、LOOP)、CASE表达式,以及异常处理(EXCEPTION)。这些结构使得程序可以根据不同条件执行不同的代码段。 3....

    PL/SQL汉化工具

    - 控制结构:包括条件语句(IF-THEN-ELSIF-ELSE)、循环(WHILE, FOR, LOOP)以及分支语句(CASE)。 - 子程序:包括过程(PROCEDURE)和函数(FUNCTION),它们可以封装代码并重复使用。 - 异常处理:通过EXCEPTION...

    pl sql示例

    1. **PL/SQL编程.sql**:这个文件可能包含各种PL/SQL块的示例,包括声明变量、编写条件语句(如IF-THEN-ELSIF-ELSE)、循环(如FOR和WHILE循环)以及异常处理。PL/SQL程序通常由一个或多个这样的块组成,可以定义...

    oracle_oracle_oraclepl/sql_

    3. **流程控制**:PL/SQL提供了IF-THEN-ELSIF-ELSE、CASE语句进行条件判断,以及WHILE、FOR循环结构来实现迭代操作。 4. **块结构**:PL/SQL代码组织在块(BLOCK)中,包括声明部分(DECLARATION)、执行部分...

    pl/sql学习文档

    2. **流程控制结构**:PL/SQL支持基本的流程控制结构,如IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环等。这些结构使我们能够根据条件执行不同的代码块,或者重复执行某段代码。 3. **SQL语句的嵌入**:PL/SQL的...

    SQL_Plus.rar_SQL 表 操作_pl sql_plus

    4. **控制流程语句**:IF...ELSIF...ELSE、CASE、FOR循环、WHILE循环等。 5. **游标(CURSOR)**:用于遍历查询结果,常用于处理多行数据。 6. **异常处理**:使用EXCEPTION部分捕获并处理运行时错误。 在这个...

    PL/SQL 核心基础代码

    3. **控制流程语句**:包括条件判断(IF-THEN-ELSIF-ELSE)、循环(WHILE、FOR)、分支结构(CASE)等,它们使得程序可以根据不同情况执行不同的操作。 4. **过程与函数**:PL/SQL中的过程(PROCEDURE)和函数...

    关于pl/sql常量和变量

    - **条件判断**:使用`IF`、`ELSIF`和`ELSE`语句。 - **循环结构**:使用`FOR`、`LOOP`和`WHILE`等循环语句。 - **分支选择**:使用`CASE`语句。 **3. 示例** - **循环结构示例**: ```sql DECLARE i NUMBER...

    Oracle2BPL-SQL.rar_oracle_pl/sql

    2. **流程控制语句**:包括条件判断(IF-THEN-ELSIF-ELSE)、循环(FOR、WHILE、LOOP)和异常处理(BEGIN-EXCEPTION-END)。这些语句使得PL/SQL可以实现复杂的逻辑控制。 3. **子程序**:PL/PROCEDURE和FUNCTION是...

Global site tag (gtag.js) - Google Analytics