`
032615
  • 浏览: 61017 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

first_rows为什么影响decode

SQL 
阅读更多

表A有字段id

select /*+ first_rows*/  表A.id   from 表A

 where id= decode('', '', id, '')

照道理应该输出表A的所有记录,实际上一条都没输出(没查到记录)

但是如果改为如下sql

select  表A.id   from 表A

 where id= decode('', '', id, '')

则输出所有记录

first_rows影响decode函数吗?为什么?
  

分享到:
评论

相关推荐

    sqlite常见问题中文

    sqlite_udf_decode_binary —— Decode binary data passed as parameters to an UDF。 sqlite_udf_encode_binary —— Encode binary data before returning it from an UDF。 sqlite_unbuffered_query —— 发送一...

    oracle优化方法

    ALTER SESSION SET optimizer_mode={choose|rule|first_rows|all_rows}; ALTER SYSTEM SET optimizer_mode='RULE' SCOPE=SPFILE; ``` **注意**:为了确保优化器能够正确地做出决策,建议定期使用`ANALYZE`命令更新...

    ORACLE SQL 优化

    - 如果不需要等到所有行都被处理完就希望看到部分结果,可以考虑使用 `FIRST_ROWS` 提示来指导优化器尽可能避免使用集合操作。 #### 三、其他 SQL 性能优化技巧 除了上述提到的 ROWNUM 和数据集处理操作之外,还有...

    DB2编程基础DB2编程基础DB2编程基础

    DECLARE cursor1 CURSOR FOR SELECT market_code FROM tb_market_code FETCH FIRST 1 ROWS ONLY FOR UPDATE; OPEN cursor1; FETCH cursor1 INTO v_market_code; CLOSE cursor1; ``` 4. **游标的使用**: - 在...

    Oracle数据库维护常用SQL语句集合

    Users_Executing, Loads, First_Load_Time, Invalidations, Parse_Calls, Disk_Reads, Buffer_Gets, Rows_Processed, SYSDATE Start_Time, SYSDATE Finish_Time, '>' || Address Sql_Address, 'N' Status FROM V...

    oralce 维护常用sql语句

    Time, Invalidations, Parse_Calls, Disk_Reads, Buffer_Gets, Rows_Processed, SYSDATE Start_Time, SYSDATE Finish_Time, '>' || AddressSql_Address, 'N' Status FROM V$sqlarea WHERE Address = (SELECT Sql_...

    DB2编程序小小技巧

    - `FETCH FIRST 1 ROWS ONLY`用于限制返回的行数为1,适用于获取最新或最旧记录等场景。 - 使用游标时,注意打开、读取和关闭游标的顺序,以及是否需要更新锁。 #### 4. 事务控制 - **概念**:DB2中的事务控制...

    db2编程技巧

    DECLARE CURSOR1 CURSOR FOR SELECT market_code FROM tb_market_code FETCH FIRST 1 ROWS ONLY FOR UPDATE; OPEN CURSOR1; FETCH CURSOR1 INTO v_market_code; CLOSE CURSOR1; ``` **1.4 事务控制** 在DB2中,...

    Oracle和DB2的转换[参照].pdf

    - DB2提供了`fetch first N rows only`来达到相同的效果,如:`Select * from TableName fetch first N rows only;` 2. **获取系统日期** - Oracle中获取当前日期的命令是`Select sysdate from dual;` - 在DB2中...

    oracle与db2对比

    - DB2 使用 `SELECT * FROM TableName FETCH FIRST N ROWS ONLY;` 2. 获取系统日期: - Oracle:`SELECT SYSDATE FROM DUAL;` - DB2:`SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1;` 3. 空值转换: - ...

    oracle和db2的区别

    - `FETCH FIRST N ROWS ONLY`是一个明确且直观的方法来限制返回的行数。 #### 2. 获取系统日期 - **Oracle**: - 使用`SELECT SYSDATE FROM DUAL;` - `SYSDATE`是一个预定义的伪列,返回当前系统的日期和时间。 ...

    ORACLE DB2开发中的对比

    而在DB2中,相应的操作是`Select * from TableName fetch first N rows only`,这种方式更加直观和简洁。 其次,获取当前系统日期在两个数据库中的写法有所不同。在ORACLE中,`Select sysdate from dual`即可得到...

    DB2编程基础要点 sql 存储过程

    获取数据表的指定记录,例如第一条记录,可以直接使用`FETCH FIRST`子句,如`SELECT * FROM tb_market_code FETCH FIRST 1 ROWS ONLY`。然而,将第一条记录的字段值赋给变量时,不能直接使用`INTO`关键字,而需要...

    Oracle SQL性能优化.doc

    例如设置为`RULE`、`COST`、`CHOOSE`、`ALL_ROWS`或`FIRST_ROWS`。 - **推荐使用CBO**:基于成本的优化器需要定期运行`analyze`命令来更新对象统计信息,以确保执行计划的准确性。若使用`CHOOSE`模式,则可能因未...

    oracle函数大全分析函数,聚合函数,转换函数,日期型函数,字符型函数,数值型函数,其他函数.docx

    例如,ROWS N PRECEDING 选定窗为当前行及之前 N 行。 二、聚合函数 Oracle 聚合函数是对数据进行聚合和分析的函数,包括 AVG、COUNT、CORR、COVAR_POP、COVAR_SAMP、CUME_DIST 等。 1. AVG 函数 AVG 函数是对...

    matlab代码影响-TAFKAP:(Matlab)概率脑解码算法“PRINCE”和“以前称为Prince的算法”的代码

    matlab代码影响塔夫卡普 (Matlab)概率脑解码算法“ PRINCE”和“以前称为Prince的算法”的代码 This code runs the PRINCE or TAFKAP decoding algorithm. The original PRINCE algorithm was first described ...

    ORACLE与DB2的区别和转换

    **DB2**: `Select * from TableName fetch first N rows only;` - **解析**: Oracle使用`rownum`关键字来限制返回的结果集行数。相比之下,DB2采用了`fetch first`语法,这使得指定结果集中的前几行变得更加直观和...

    ORACLE转DB2对照全解

    FETCH FIRST 1 ROWS ONLY INTO v1; ``` **注意:** Oracle使用`RETURNING`子句来获取更新后的值,而DB2则需要使用`FETCH`语句来实现。 #### 十五、查询DUAL **Oracle:** ```sql SELECT 1 FROM DUAL; ``` **DB2:*...

Global site tag (gtag.js) - Google Analytics