# Keywords and Reserved Words

> The following table lists eXtremeSQLreserved words that have operational meaning. If used as identifiers in SQL statements, reserved words must be enclosed within double quotes. For example:

>         XSQL>create table T ("field" int, "type"  int);

> Note that when reserved words are quoted in application source code, it may be necessary to "escape" the double quote character, for example:

>         QueryResult qr(engine.executeQuery("select \"field\", \"type\" from aRecord"));

> When using the mcocomp DDL compiler to compile an eXtremeDB database schema there are other reserved words that cannot be used in the schema definition as class or field names. (Please see the DDL Reserved Words page for a list of reserved words for the DDL compiler.)

> The following are reserved words recognized by the SQL compiler:

> abs | acos | all | alter | and
> any | array | as | asc | asin
> asof | atan | avg | backup | between
> bigint | binary | bit | blob | boolean
> btree | by | cascade | case | cast
> ceil | char | checkpoint | coalesce | column
> commit | constraint | contains | cor | cos
> count | cov | create | date | decimal
> delete | desc | distinct | domain | double
> drop | else | end | escape | exact_match
> except | exists | exp | explain | false
> first | flattened | float | floor | for
> foreign | from | function | group | hash
> having | ifnull | ilike | in | inclusive
> index | inner | insert | int | integer
> intersect | into | is | join | key
> last | left | length | like | limit
> local | log | longint | longvarbinary | longvarchar
> lower | max | min | minus | natural
> near | not | now | null | nullifzero
> nulls | numeric | on | or | order
> outer | overlaps | prefix_match | preserve | primary
> range | real | reference | references | remote
> rename | restore | returns | right | rollback
> round | rows | rtree | select | sequence
> set | shuffle | sin | smallint | some
> sqrt | start | string | string_agg | substr
> substring | sum | sysdate | table | tan
> temporary | then | thick | time | timestamp
> tinyint | to | transaction | trigram | true
> type | unicode | union | unique | unsigned
> update | upper | using | values | varbinary
> varchar | view | void | when | where
> window | with |  |  |