GBase dual 表
1、基础说明
GBase8a 兼容 Oracle 风格 DUAL 虚拟表,作用:无表查询时使用,用于函数计算、常量输出。
-- 示例
SELECT SYSDATE FROM dual;
SELECT 1+2 FROM dual;
SELECT USER FROM dual;
对比差异:MySQL 没有 dual,可以直接select now();Oracle/GBase8a 标准写法select xxx from dual;
2、两种写法都支持
写法 1(标准 Oracle 兼容写法,推荐迁移场景)
SELECT SYSDATE FROM dual;
写法 2(GBase 扩展,省略 from dual)
SELECT SYSDATE;
3、常见内置函数搭配 dual
-- 当前会话用户
SELECT USER FROM dual;
-- 当前时间
SELECT SYSDATE FROM dual;
-- 系统当前时间戳
SELECT CURRENT_TIMESTAMP FROM dual;
-- 字符串处理
SELECT UPPER('gbase') FROM dual;
-- 序列取值(GBase8a支持sequence)
SELECT seq_test.NEXTVAL FROM dual;
4、重要运维知识点
- dual 不是真实物理表,是系统内置虚拟表,不能 DROP、不能 INSERT/UPDATE
-- 报错,禁止操作
DROP TABLE dual;
- 迁移注意事项
- Oracle 迁移 GBase:原有
from dual语句无需删除,直接运行 - GBase 导出 SQL 给 Oracle:保留
from dual保证兼容
- 区分大小写
GBase 默认表名不区分大小写,
DUAL/dual均可。
浙公网安备 33010602011771号