# Integer Data Types

*Go Up to Defining Numeric Data Types*

Integers are whole numbers. InterBase supports two integer data types: `SMALLINT`

and `INTEGER`

. `SMALLINT`

is a signed short integer with a range from –32,768 to 32,767. `INTEGER`

is a signed long integer with a range from –2,147,483,648 to 2,147,483,647. Both are exact numerics.

The next two statements create domains with the `SMALLINT`

and `INTEGER`

data types:

```
CREATE DOMAIN EMPNO
AS SMALLINT;
CREATE DOMAIN CUSTNO
AS INTEGER
CHECK (VALUE > 99999);
```

You can perform the following operations on the integer data types:

- Comparisons using the standard relational operators (=, <, >, >=, <=). Other operators such as
`CONTAINING`

,`STARTING WITH`

, and`LIKE`

perform string comparisons on numeric values. - Arithmetic operations. The standard arithmetic operators determine the sum, difference, product, or dividend of two or more integers.
- Conversions. When performing arithmetic operations that involve mixed data types, InterBase automatically converts between
`INTEGER`

,`FLOAT`

, and`CHAR`

data types. For operations that involve comparisons of numeric data with other data types, InterBase first converts the data to a numeric type, then performs the arithmetic operation or comparison. - Sorts. By default, a query retrieves rows in the exact order that it finds them in the table, which is likely to be unordered. You can sort rows using the
`ORDER BY`

clause of a`SELECT`

statement in descending or ascending order.