在项目中看到一行SQL :select 1 from dual 很好奇,顺便了解了一些,分享给大家。
首先dual表是oracle数据库中的一张虚拟表,它的作用包括:
1 用来构成select的语法规则;
2 查看当前用户 select user from dual;
3 可以当作计算器使用 select 2*2 from dual
4 调用系统函数 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual --获取当前系统时间
select sys_context('userenv','terminal') from dual --获得主机名
select sys_context('userenv','language') from dual --获取当前使用字符集
select dbms_random.random from dual -- 获取一个随机数
select 指定sequence.nextval from dual --获取指定序列的下一个值
select 指定sequence.currval from dual --获取序列的当前值
(需要注意的是,在获取sequence值时,需要先获取netval,才能获取currval,否则数据库会报错)
以上就是我了解到的关于dual的使用,欢迎大家补充!