重庆思庄Oracle、Redhat认证学习论坛

标题: 23C新特性之一:select 语句不用FROM 部分也可以 [打印本页]

作者: 郑全    时间: 2023-4-10 17:45
标题: 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部分,同样可以得出结果。

好了,今天新特性之一例子就到这里。我们后续还会持续提供其他例子。




作者: 郑全    时间: 2023-4-10 17:55
补充一下以前的情况:
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






欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2