http://menjoy.iteye.com/blog/111737
DB2中类似于ORACLE中的DUAL表的表
问题 :在ORACLE中,数据库用户可以通过访问DUAL表获取一些系统信息,例如:
'SELECT SYSDATE FROM DUAL'命令返回当前系统日期
SQL> SELECT SYSDATE FROM DUAL;
SYSDATE
----------
18-12-03
'SELECT 1 + 1 FROM DUAL'执行数学运算
SQL> SELECT 1 + 1 FROM DUAL;
1+1
----------
2
'SELECT MY_SEQUENCE.NEXTVAL FROM DUAL'得到序列值
SQL> SELECT MY_SEQUENCE.NEXTVAL FROM DUAL;
NEXTVAL
----------
2
在DB2中,是否有对应的表?
解答 是的,DB2中存在一个对于的表:SYSIBM.SYSDUMMY1
用户可以通过访问这个表获取相应的信息。
例如:
'SELECT CURRENT DATE FROM SYSIBM.SYSDUMMY1' 命令返回当前系统日期
db2 => SELECT CURRENT DATE FROM SYSIBM.SYSDUMMY1
1
----------
2003-12-18
1 条记录已选择。
'SELECT 1+1 FROM SYSIBM.SYSDUMMY1' 执行数学运算
db2 => SELECT 1+1 FROM SYSIBM.SYSDUMMY1
1
-----------
2
1 条记录已选择。
'SELECT NEXTVAL FOR MYSEQ FROM SYSIBM.SYSDUMMY1' 得到序列值
db2 => SELECT NEXTVAL FOR MYSEQ FROM SYSIBM.SYSDUMMY1
1
-----------
3
1 条记录已选择。
此外,在DB2中,用户还可以用VALUES语句查询上面的值。
例如:
db2 => VALUES CURRENT DATE
1
----------
2003-12-18
1 条记录已选择
分享到:
相关推荐
- 这个操作在DB2中也能高效地清空表。 #### 6. 关于ROWID - **Oracle**: - ROWID是Oracle数据库提供的一个特殊功能,用于唯一标识表中的每一行。 - **DB2**: - DB2 V8版本开始支持类似ROWID的功能。 #### 7. ...
**注意:** Oracle中的`DUAL`表相当于DB2中的`SYSIBM.SYSDUMMY1`表,用于查询单个值。 #### 十六、时间日期函数 **Oracle:** ```sql SELECT SYSDATE FROM DUAL; ``` **DB2:** ```sql SELECT CURRENT_TIMESTAMP ...
- **解析**: Oracle提供了`DECODE`函数用于条件判断,类似于多分支的`if...else`语句。DB2中没有`DECODE`函数,但提供了功能更为强大的`CASE`表达式来实现同样的逻辑处理。 #### 四、总结 Oracle和DB2在许多方面都...
`SYSIBM.SYSDUMMY1`类似于Oracle中的DUAL,主要用于测试或返回系统级信息。 ### 3. 连接字符串 SQL Server中使用加号`+`来拼接字符串,例如`SELECT 'Hello' + 'Toone'`。 Oracle和DB2中使用双竖线`||`进行字符串...
在ORACLE中,`Select sysdate from dual`即可得到当前日期,而在DB2中,我们需要查询`sysibm.sysdummy1`表,用`Select current timestamp from sysibm.sysdummy1`来获取当前时间戳,这更接近于ISO标准的日期时间表示...
在IT项目的实施过程中,可能会遇到客户提出更换数据库的需求,例如从Oracle迁移到DB2。这种情况下,除了要考虑配置上的差异外,还需要关注SQL语句的不同之处。以下是对Oracle与DB2之间SQL语句差异的详细总结: ####...
当此参数设置为`ON`时,即使在CS隔离级别下,DB2的行为也会变得类似于Oracle的快照隔离级别,也就是说读取事务不再会被写入事务阻塞。这一设置大大提高了系统的并发能力,尤其是在高负载环境中。 #### 二、数据类型...
- DB2的DOUBLE相当于Oracle的BINARY_DOUBLE,但转换过程可能不准确,可能导致精度丢失,需要检查并调整数据类型。 - 部分函数,如YEAR、MONTH、DAY在Oracle中可能有不同的实现,需要进行相应替换。 - Oracle对于...
Sequence是独立于表的数据库对象,可以在多个表中重用,而Identity是表的一个属性,仅限于指定的表。Identity列通常与表的特定列关联,自动为新插入的行生成唯一值。 在Oracle中,Identity功能相对较新,与Sequence...
db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器。收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时...
- **用途**:`DECODE`函数类似于`CASE`语句,用于根据不同的条件返回不同的结果。 - **示例**: ```sql SELECT DECODE(status, 'A', 'Active', 'I', 'Inactive', 'Unknown') AS status_desc FROM table_name; ```...
Oracle服务器是基于关系型数据库管理系统(RDBMS)构建的,它与MySQL、SQL Server和DB2等其他关系型数据库系统类似。这类系统的核心特点是数据以二维表格的形式组织,并且通过定义明确的关系结构来确保数据的一致性...
它可以基于表中的父子关系来生成树状结构的数据。例如: ```sql SELECT LEVEL, empno, ename FROM emp START WITH mgr IS NULL CONNECT BY PRIOR empno = mgr; ``` 以上内容概述了《SQL袖珍参考手册》(第三版)的...
`DECODE`函数的语法类似于`IF-THEN-ELSE`结构,而`CASE`表达式的语法更灵活,可以处理更复杂的情况。 - **DECODE**:适用于简单的条件判断。 - **CASE**:适用于复杂的条件判断。 ##### NULL处理 在SQL中,`NULL`...