0
点赞
收藏
分享

微信扫一扫

23C新特性之一:select 语句不用FROM 部分也可以

曾几何时,看到其他数据库,SQLSERVER,MYSQL,POSTGRESQL等数据库,希望做一个计算时,或者看一个时间,可以直接select 8*8;就可以得到结果,但ORACLE不行,需要提供FROM 部分

比如:select 8*8 from dual;

才能获取到结果,但是,从23C开始,这个情况,发生了变化,ORACLE也可以只需要SELECT 部分,就可以出结果了,废话少说,看例子:

1.先看版本:

SQL> select banner,banner_full from v$version;


BANNER

--------------------------------------------------------------------------------

BANNER_FULL

--------------------------------------------------------------------------------

Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release

Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release

Version 23.2.0.0.0


2.测试

SQL> select sysdate;


SYSDATE

---------

10-APR-23



SQL> select sysdate from dual;


SYSDATE

---------

10-APR-23


SQL> select 8*8;


       8*8

----------

        64


SQL> select 8*8 from dual;


       8*8

----------

        64



看到了,以前的DUAL表依然存在,但是也支持只有SELECT部分,同样可以得出结果。


补充19C以前的情况:

SQL>  select banner_full from v$version;


BANNER_FULL

--------------------------------------------------------------------------------

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

Version 19.15.0.0.0



SQL> select sysdate;

select sysdate

             *

ERROR at line 1:

ORA-00923: FROM keyword not found where expected


SQL> select sysdate from dual;


SYSDATE

------------

10-APR-23

举报

相关推荐

0 条评论