While it may not be apparent at the first look, the data types are there to safeguard us and make our life easier. This chapter describes and categorizes all existing data types (character and binary strings, precise and approximate numbers, dates and time, user-defined and object types, as well as few others that don't fit well any of the above) and analyzes variations between vendor implementations and SQL99 standards.

It is very important to know what data types are available in each implementation and to understand the correspondence between them and SQL99 standards.

You also need to consider ramifications of using a particular data type to store a particular kind of data.

Each of the three RDBMS vendors discussed in this book has its own proprietary extensions — in addition to SQL99 standard mandated data types.

The concept of NULL is introduced in this chapter. While not defining a data type, this concept is crucial for understanding how data is created, retrieved, and compared.