DB2中类似于ORACLE中的DUAL表的表

来源:互联网 发布:openwrt 进入webshell 编辑:程序博客网 时间:2024/06/06 02:12
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 
---------- 


'SELECT MY_SEQUENCE.NEXTVAL FROM DUAL'得到序列值 
SQL> SELECT MY_SEQUENCE.NEXTVAL FROM DUAL; 

NEXTVAL 
---------- 


在DB2中,是否有对应的表? 

解答 是的,DB2中存在一个对于的表:SYSIBM.SYSDUMMY1 

用户可以通过访问这个表获取相应的信息。 

例如: 
'SELECT CURRENT DATE FROM SYSIBM.SYSDUMMY1' 命令返回当前系统日期 

db2 => SELECT CURRENT DATE FROM SYSIBM.SYSDUMMY1 


---------- 
2003-12-18 

1 条记录已选择。 

'SELECT 1+1 FROM SYSIBM.SYSDUMMY1' 执行数学运算 
db2 => SELECT 1+1 FROM SYSIBM.SYSDUMMY1 


----------- 
          2 

1 条记录已选择。 

'SELECT NEXTVAL FOR MYSEQ FROM SYSIBM.SYSDUMMY1' 得到序列值 
db2 => SELECT NEXTVAL FOR MYSEQ FROM SYSIBM.SYSDUMMY1 


----------- 
          3 

1 条记录已选择。 

此外,在DB2中,用户还可以用VALUES语句查询上面的值。 

例如: 
db2 => VALUES CURRENT DATE 


---------- 
2003-12-18 

1 条记录已选择 
转自:http://chorpin.iteye.com/blog/165525