`
Donald_Draper
  • 浏览: 981114 次
社区版块
存档分类
最新评论

Oracle的Select Case用法

阅读更多
#保留两位小数:
round((ny.AMOUNT-oy.AMOUNT)/ny.AMOUNT,2)

#之所以做IS NULL 判断是因为ORACLE算术运算符,有一个为NULL,则为NULL
oy.AMOUNT IS NULL

#取TXN_DATE前6个字符
"SUBSTR"(f.TXN_DATE,1,6)

######################
实例:
SELECT(
CASE 
WHEN oy.AMOUNT IS NULL THEN
    (ny.AMOUNT-0)/ny.AMOUNT
WHEN ny.AMOUNT IS NULL THEN
    (0-oy.AMOUNT)/oy.AMOUNT
ELSE
   round((ny.AMOUNT-oy.AMOUNT)/ny.AMOUNT,2)
END) AS samepercent,ny.BLEVEL FROM
(SELECT "SUM"(f.AMOUNT) AS AMOUNT,f.BLEVEL FROM FT_INCOME_REPORT_LOG f 
		WHERE "SUBSTR"(f.TXN_DATE,1,6) >= '201601' AND "SUBSTR"(f.TXN_DATE,1,6) <= '201605' GROUP BY f.BLEVEL) ny
LEFT JOIN 
 (SELECT "SUM"(f.AMOUNT) AS AMOUNT,f.BLEVEL FROM FT_INCOME_REPORT_LOG f 
		WHERE "SUBSTR"(f.TXN_DATE,1,6) >= '201501' AND "SUBSTR"(f.TXN_DATE,1,6) <= '201505' GROUP BY f.BLEVEL) oy
ON ny.BLEVEL=oy.BLEVEL

错误代码解析:
[Err] ORA-00923
[Err] ORA-00923: 未找到要求的 FROM 关键字
[Err] ORA-00904:
[Err] ORA-00904: "SI"."S_ITEM": 标识符无效

[Err] ORA-0090
[Err] ORA-00907: 缺失右括号
[Err] ORA-00933
##看看是不是SQL语句中缺少where,on,and,or,order,group,by等
[Err] ORA-00933: SQL 命令未正确结束
[Err] ORA-00972: 标识符过长,看看是不是,字符串少了引号"
oracle 无效的列索引,?占位符与所提供的变量数,不相同
ORA-00918:未明确定义列 ,看看有没有列名存在相同的



0
1
分享到:
评论

相关推荐

    Oracle_case_when_用法

    在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ...

    oracle case when 语句的用法详解

    1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex ... CASE WHEN 在语句中不同位置的用法2.1 SELECT CASE WHEN 用法 代码如下:SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位

    [数据库] Oracle使用CASE判断解决多值问题1

    【Oracle使用CASE判断解决多值问题】 在Oracle数据库中,面对多值判断的场景,我们经常需要对数据进行复杂的逻辑处理。在这个问题中,我们有一个专业表ZY_TAB,包含专业名称(ZY_NAME),专业代码(ZY_CODE),专业类型...

    Oracle常用函数和使用方法

    ### Oracle常用函数与使用方法详解 #### 一、Oracle SQL函数概述 在Oracle数据库中,SQL函数被广泛用于处理各种数据类型,包括数值、字符、日期等,它们能够帮助我们更高效地进行数据检索和分析。本文将详细介绍...

    oracle中游标的使用

    游标 for 循环是一种简化的使用游标的方法,可以简化代码和提高可读性。例如,根据用户输入的职称,逐一显示教师信息表中的每行信息,并给每行记录设定编号: ```sql Declare V_rank varchar2(20); Cursor teacher...

    oracle手册,详解SQL用法

    本手册将深入探讨Oracle SQL的用法,包括各种函数的使用、数据类型的转换以及查询语句的语法。 首先,Oracle函数是SQL查询中的重要组成部分。单行函数主要作用于一行数据的一个字段,例如字符函数,它们可以对字符...

    Oracle-Decode()函数和CASE语句的比较

    Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...

    oracle处理空值的方法

    Oracle提供了多种方法来处理空值,包括使用NVL、NVL2、COALESCE函数,以及CASE和DECODE语句。下面将详细介绍这些方法及其应用场景。 ### 1. NVL函数 NVL(expr1, expr2)函数用于替换空值。当expr1为NULL时,NVL函数...

    使用Oracle的SQL函数实现工作日和节假日分组统计.pdf

    本文主要介绍了使用Oracle的SQL函数来实现工作日和节假日的判断和统计,并提供了具体的实现方法和代码。 一、工作日和节假日的判断方法 在Oracle中,我们可以使用TO_CHAR函数来判断工作日和节假日。TO_CHAR函数...

    oracle和db2的区别

    - 使用`SELECT * FROM TableName WHERE ROWNUM ;` - 这里`ROWNUM`是一个伪列,用于标识查询结果中的行序号。 - **DB2**: - 使用`SELECT * FROM TableName FETCH FIRST N ROWS ONLY;` - `FETCH FIRST N ROWS ...

    Oracle关键字用法整合

    ### Oracle关键字用法整合 #### 1. CONCAT **功能说明**:`CONCAT`用于连接两个或多个字符串。在Oracle中,可以使用`||`作为替代方式。 **示例**: ```sql SELECT CONCAT('%','') FROM dual; ``` 在示例中,由于`...

    oracle中substr函数详细用法

    本文将详细介绍这两个函数的用法,并结合`CASE WHEN`语句来解决特定的问题。 `SUBSTR`函数用于从一个字符串中提取指定长度的子字符串。它有两种形式: 1. `SUBSTR(string, start_position, length)` 这种形式从`...

    oracle与db2对比

    - Oracle 使用 `SELECT * FROM TableName WHERE ROWNUM ;` - DB2 使用 `SELECT * FROM TableName FETCH FIRST N ROWS ONLY;` 2. 获取系统日期: - Oracle:`SELECT SYSDATE FROM DUAL;` - DB2:`SELECT CURRENT...

    利用ORACLE实现数据的抽样

    在Oracle中,可先使用`CASE WHEN`或`DECODE`函数进行分层,再结合`SAMPLE`函数来实现。 ### 二、Oracle中的抽样技巧 Oracle提供了内置的`SAMPLE`函数,可以直接用于实现抽样。例如: ```sql SELECT * FROM (SELECT...

    Oracle时间日期操作

    Oracle 中可以使用 CASE 语句来判断当前时间是上午、下午还是晚上。 例如,使用 CASE 语句可以判断当前时间:SELECT CASE WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 6 AND 11 THEN '上午' WHEN to_number...

    Oracle中的SUM用法讲解

    在Oracle中,SUM函数可以结合CASE WHEN语句,使得条件求和变得更为灵活。 1. SUM与CASE WHEN结合使用 在描述的示例1中,我们看到了一个查询,它根据`AREA_CODE`字段对数据进行分组,并计算出`IPTV_NBR`和`ACC_NBR`...

    Oracle Exception汇总(自定义Oracle异常)

    以上就是Oracle数据库中一些常见的异常及对应的处理方法。在编写PL/SQL代码时,充分理解并合理处理这些异常是确保程序稳定运行的关键。通过预定义异常处理和良好的编程实践,可以提高代码的健壮性和可靠性。

Global site tag (gtag.js) - Google Analytics