Oracle DUAL Table Details
Oracle DUAL Table Details is a SQL statement in the Oracle Specific category. Oracle DUAL is a special one-row table used for selecting constants, functions, or pseudocolumns. The syntax is SELECT * FROM DUAL;. It returns expression result. A typical example: SELECT 2 + 2 FROM DUAL; -- 4 SELECT SYSDATE FROM DUAL; -- Current date/time SELECT USER FROM DUAL; -- Current user SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') FROM DUAL; -- Session info -- DUAL exists automatically in Oracle -- Has one column (DUMMY VARCHAR2(1)) with value 'X' -- Most databases now allow SELECT without FROM -- Useful Oracle SYS_CONTEXT queries: SELECT SYS_CONTEXT('USERENV', 'DB_NAME') AS db_name, SYS_CONTEXT('USERENV', 'INSTANCE_NAME') AS instance, SYS_CONTEXT('USERENV', 'SESSION_USER') AS… A close relative is SEQUENCE (Oracle), which oracle: generates sequential numbers. Independent of tables. Accessed via NEXTVAL and CURRVAL. A close relative is ROWNUM / FETCH FIRST, which oracle: ROWNUM assigns sequential numbers to rows. Used for limiting results (pre-12c).