oracle中的dual伪表、虚拟表

oracle中的dual伪表、虚拟表

/*
dual是一个虚拟表,用来构成select的语法规则,oracle保
证dual里面永远只有一条记录。我们可以用它来做很多事情,如下:
*/

--SYSDATE表示系统时间,dual表示伪表(虚拟表)
SELECT SYSDATE FROM dual;
--做运算
SELECT (6 + 6) * 2 FROM dual;
--做字符串的拼接
SELECT '江西省赣州市' || '于都县' FROM dual;
--获得一个随机数
SELECT dbms_random.random FROM dual;
--查看当前用户
SELECT USER FROM dual;
--用来调用系统函数
--获得当前系统时间
SELECT to_char(SYSDATE,'yyyy-mm-dd hh24:mi:SS') FROM dual;
--获得主机名
SELECT SYS_CONTEXT('USERENV','TERMINAL') FROM dual;
/*
注意:在oracle数据库中,select后面哪怕跟的是常量,也必须要加上from dual;
但是在mysql数据库中,select后面如果是常量的话,可以不用加from 表名
*/
--以下是oracle数据库中的写法,常量后面必须要加上FROM dual;否则会报错
SELECT '江西省赣州市于都县' FROM dual;
SELECT 8 + 10 FROM dual;
--以下是mysql数据库中的写法
SELECT '江西省赣州市于都县';
SELECT 8 + 10;

oracle中的dual伪表、虚拟表_第1张图片

oracle中的dual伪表、虚拟表_第2张图片

oracle中的dual伪表、虚拟表_第3张图片

你可能感兴趣的:(oracle中的dual伪表、虚拟表)