This topic provides a list of words that have special syntactic meaning to SQL and cannot be used as identifiers for constants, variables, cursors, types, tables, records, subprograms, or packages.

Reserved words are keywords. You can use keywords as identifiers in SQL statements only if you delimit them with double quotation marks. If you use keywords without delimiting them, the statement generates one of the following errors:

error(-20003): Syntax error
error(-20049): Keyword used for a name

The following table provides a list of OpenEdge SQL reserved words:

Table 1. OpenEdge SQL reserved words
ABS ACOS ADD ADD_MONTHS
AFTER ALL ALTER AND
ANY ANY_USER APPLICATION_CONTEXT AREA
ARRAY AS ASC ASCII
ASIN ATAN ATAN2 AUDIT
AUDIT_ADMIN AUDIT_ARCHIVE AUDIT_INSERT AUDIT_READ
AVG BEFORE BETWEEN BIGINT
BINARY BIT BLOB BY
CALL CARD_CHANGES CASCADE CASE
CEILING CHAR CHARACTER CHARACTER_LENGTH
CHARTOROWID CHAR_LENGTH CHECK CHR
CLOB CLOSE CLUSTERED COALESCE
COLGROUP COLLATE COLUMN COMMIT
COMPRESS CONCAT CONNECT CONSTRAINT
CONTAINS CONVERT COS COUNT
CREATE CROSS CURDATE CURRENT
CURRENT_USER CURRVAL CURSOR CURTIME
CYCLE DATABASE DATAPAGES DATE
DAYNAME DAYOFMONTH DAYOFWEEK DAYOFYEAR
DBA DB_NAME DEC DECIMAL
DECLARE DECODE DEFAULT DEFINITION
DEGREES DELETE DESC DIFFERENCE
DISCONNECT DISTINCT DOMAIN DOUBLE
DROP EACH Z Z
ELSE END ESCAPE EVENT_GROUP
ZONE EVERY LOB MULTI_TENANT
EVENT_GROUP EXCLUSIVE EXECUTE EXISTS
EXP EXTENT FETCH FILE
FLOAT FLOOR FOR FOREIGN
FROM FULL GLOBAL GRANT
GREATEST HASH HAVING HOUR
IDENTIFIED IFNULL IN INDEX
INDEXPAGES INDICATOR INITCAP INNER
INOUT INSERT INSTR INT
INTEGER INTERSECT INTO IS
ISOLATION JOIN KEY LAST_DAY
LCASE LEAST LEFT LENGTH
LEVEL LIKE LINK LIST
LOCATE LOCK LOG LOG10
LONG LOWER LPAD LTRIM
LVARBINARY LVARCHAR MAX MAXVALUE
METADATA_ONLY MIN MINUS MINUTE
MINVALUE MOD MODE MODIFY
MONTH MONTHNAME MONTHS_BETWEEN NATIONAL
NATURAL NCHAR NEWROW NEXTVAL
NEXT_DAY NOCOMPRESS NOCYCLE NOEXECUTE
NOLOCK NOMAXVALUE NOMINVALUE NOT
NOW NOWAIT NULL NULLIF
NULLVALUE NUMBER NUMERIC NVL
OBJECT_ID ODBCINFO ODBC_CONVERT OF
OFF OLDROW ON OPEN
OPTION OR OUT OUTER
PARTITION PCTFREE PI POWER
OFFSET POLICY PRO_CATEGORY PRO_PARTN_ROWID
PRECISION PREFIX PRIMARY PRIVILEGES
PRO_ARRAY_ELEMENT PRO_ARR_DESCAPE PRO_ARR_ESCAPE PRO_ASSIGN
PRO_CAN_CREATE PRO_CAN_DELETE PRO_CAN_DUMP PRO_CAN_LOAD
PRO_CAN_READ PRO_CAN_WRITE PRO_CASE_SENSITIVE PRO_CLIENT_FIELD_TRIGGER
PRO_CLIENT_FILE_TRIGGER PRO_COL_LABEL PRO_CONNECT PRO_CRC
PRO_CREATE PRO_DATA_TYPE PRO_DEFAULT_INDEX PRO_DELETE
PRO_DESCRIPTION PRO_DUMP_NAME PRO_ELEMENT PRO_ENABLE_64BIT_SEQUENCES
PRO_ENABLE_LARGE_KEYS PRO_FIND PRO_FORMAT PRO_FROZEN
PRO_HELP PRO_HIDDEN PRO_LABEL PRO_LOB_SIZE_TEXT
PRO_AREA_NAME PRO_INITIAL PROCEDURE PRODEFAULT
PRO_NAME PRO_ODBC PRO_ORDER PRO_OVERRIDEABLE
PRO_PROCNAME PRO_REPL_CREATE PRO_REPL_DELETE PRO_REPL_WRITE
PRO_SA_COL_LABEL PRO_SA_FORMAT PRO_SA_HELP PRO_SA_INITIAL
PRO_SA_LABEL PRO_SA_VALMSG PRO_SERVER PRO_SQL_WIDTH
PRO_STATUS PRO_TYPE PRO_UNIFIED_SCHEMA PRO_VALEXP
PRO_VALMSG PRO_VIEW_AS PRO_WORD PRO_WRITE
PUBLIC QUARTER QUERY_TIMEOUT RADIANS
RAND RANGE READPAST REAL
RECID REFERENCES REFERENCING RENAME
REPEAT REPLACE RESOURCE RESTRICT
RESULT RETURN REVOKE RIGHT
ROLLBACK ROUND ROW ROWID
ROWIDTOCHAR ROWNUM RPAD RTRIM
ROWCOUNT ROWS STDDEV STDDEV_POP
SCHEMA SEARCHED_CASE SECOND SELECT
SEQUENCE SEQUENCE_CURRENT SEQUENCE_NEXT SET
SHARE SHOW SIGN SIMPLE_CASE
SIN SIZE SMALLINT SOME
SOUNDEX SPACE SQL_BIGINT SQL_BINARY
SQL_BIT SQL_CHAR SQL_DATE SQL_DECIMAL
SQL_DOUBLE SQL_FLOAT SQL_INTEGER SQL_LONGVARBINARY
SQL_LONGVARCHAR SQL_NUMERIC SQL_REAL SQL_SMALLINT
SQL_TIME SQL_TIMESTAMP SQL_TINYINT SQL_TSI_DAY
SQL_TSI_FRAC_SECOND SQL_TSI_HOUR SQL_TSI_MINUTE SQL_TSI_MONTH
SQL_TSI_QUARTER SQL_TSI_SECOND SQL_TSI_WEEK SQL_TSI_YEAR
SQL_VARBINARY SQL_VARCHAR SQRT STATEMENT
STATISTICS STDDEV STDDEV_POP STDDEV_SAMP VARIANCE
STORAGE_ATTRIBUTES STORAGE_MANAGER STORE_IN_SQLENG SUBPARTITION
SUBSTR SUBSTRING SUFFIX SUM
STDDEV_SAMP SUPER_TENANT SYSTIMESTAMP_UTC TASK_AGENT
SUSER_NAME SYNONYM SYSDATE SYSTIME
SYSTIMESTAMP SYSTIMESTAMP_TZ SYSTIMESTAMP_UTC TABLE
TENANTID_TBL TENANTNAME_TBL THRESHOLD_MON THROTTLE_SERVICE
TAN THEN TIME TIMESTAMPADD
TIMESTAMPDIFF TINYINT TO TOP
TO_CHAR TO_DATE TO_NUMBER TO_TIME
TO_TIMESTAMP TO_TIMESTAMP_TZ TRANSACTION TRANSLATE
TRIGGER TYPE UCASE UID
UNION UNIQUE UPDATE UPPER
USER USER_ID USER_NAME USING
VALUES VARCHAR VAR_SAMP VARYING
UPDATES VARIANCE VAR_POP VAR_SAMP
VIEW WAIT WEEK WHEN
WHERE WITH WORK YEAR
CAST