Alias as a Reserved Word / Keyword

Is it possible to use a Reserved Word as an alias?

The answer is YES. But you need to double quote this Reserved Word, otherwise, it will return an error.

The SQL statement below will work just fine

select sysdate as "SYSDATE" from dual; 

 

While this statement won’t

select sysdate as SYSDATE from dual; 

 

At the same time, you have to remember there is a difference between Reserved Words in Oracle and Keywords. In fact, Keywords can be used as alias even without double quotes.

Oracle Reserved Words

The following words are reserved by Oracle. For this reason, you cannot use them to name database objects such as columns, tables, or indexes.

ACCESS ELSE MODIFY START
ADD EXCLUSIVE NOAUDIT SELECT
ALL EXISTS NOCOMPRESS SESSION
ALTER FILE NOT SET
AND FLOAT NOTFOUND SHARE
ANY FOR NOWAIT SIZE
ARRAYLEN FROM NULL SMALLINT
AS GRANT NUMBER SQLBUF
ASC GROUP OF SUCCESSFUL
AUDIT HAVING OFFLINE SYNONYM
BETWEEN IDENTIFIED ON SYSDATE
BY IMMEDIATE ONLINE TABLE
CHAR IN OPTION THEN
CHECK INCREMENT OR TO
CLUSTER INDEX ORDER TRIGGER
COLUMN INITIAL PCTFREE UID
COMMENT INSERT PRIOR UNION
COMPRESS INTEGER PRIVILEGES UNIQUE
CONNECT INTERSECT PUBLIC UPDATE
CREATE INTO RAW USER
CURRENT IS RENAME VALIDATE
DATE LEVEL RESOURCE VALUES
DECIMAL LIKE REVOKE VARCHAR
DEFAULT LOCK ROW VARCHAR2
DELETE LONG ROWID VIEW
DESC MAXEXTENTS ROWLABEL WHENEVER
DISTINCT MINUS ROWNUM WHERE
DROP MODE ROWS WITH

Oracle Keywords

The following words also have a special meaning to Oracle but are not reserved words and so can be used to name database objects such including aliases .

ADMIN CURSOR FOUND MOUNT
AFTER CYCLE FUNCTION NEXT
ALLOCATE DATABASE GO NEW
ANALYZE DATAFILE GOTO NOARCHIVELOG
ARCHIVE DBA GROUPS NOCACHE
ARCHIVELOG DEC INCLUDING NOCYCLE
AUTHORIZATION DECLARE INDICATOR NOMAXVALUE
AVG DISABLE INITRANS NOMINVALUE
BACKUP DISMOUNT INSTANCE NONE
BEGIN DOUBLE INT NOORDER
BECOME DUMP KEY NORESETLOGS
BEFORE EACH LANGUAGE NORMAL
BLOCK ENABLE LAYER NOSORT
BODY END LINK NUMERIC
CACHE ESCAPE LISTS OFF
CANCEL EVENTS LOGFILE OLD
CASCADE EXCEPT MANAGE ONLY
CHANGE EXCEPTIONS MANUAL OPEN
CHARACTER EXEC MAX OPTIMAL
CHECKPOINT EXPLAIN MAXDATAFILES OWN
CLOSE EXECUTE MAXINSTANCES PACKAGE
COBOL EXTENT MAXLOGFILES PARALLEL
COMMIT EXTERNALLY MAXLOGHISTORY PCTINCREASE
COMPILE FETCH MAXLOGMEMBERS PCTUSED
CONSTRAINT FLUSH MAXTRANS PLAN
CONSTRAINTS FREELIST MAXVALUE PLI
CONTENTS FREELISTS MIN PRECISION
CONTINUE FORCE MINEXTENTS PRIMARY
CONTROLFILE FOREIGN MINVALUE PRIVATE
COUNT FORTRAN MODULE PROCEDURE

Oracle Keywords (continued):

PROFILE SAVEPOINT SQLSTATE TRACING
QUOTA SCHEMA STATEMENT_ID TRANSACTION
READ SCN STATISTICS TRIGGERS
REAL SECTION STOP TRUNCATE
RECOVER SEGMENT STORAGE UNDER
REFERENCES SEQUENCE SUM UNLIMITED
REFERENCING SHARED SWITCH UNTIL
RESETLOGS SNAPSHOT SYSTEM USE
RESTRICTED SOME TABLES USING
REUSE SORT TABLESPACE WHEN
ROLE SQL TEMPORARY WRITE
ROLES SQLCODE THREAD WORK
ROLLBACK SQLERROR TIME

Leave a comment

Your email address will not be published. Required fields are marked *