SQL2003 and Platform-Specific Datatypes

A table can contain one or many columns. Each column must be defined with a datatype that provides a general classification of the data that the column will store. In real-world applications, datatypes improve efficiency and provide some control over how tables are defined and how the data is stored within a table. Using specific datatypes enables better, more understandable queries and helps control the integrity of the data.

The tricky thing about SQL2003 datatypes is that they do not always map directly to identical implementations in different platforms. Although the various platforms specify “datatypes” that correspond to the SQL2003 datatypes, these are not always true SQL2003 datatypes: for example, MySQL’s implementation of a BIT datatype is actually identical to a CHAR(1) datatype value. Nonetheless, each of the platform-specific datatypes is close enough to the standard to be both easily understandable and job-ready.

The official SQL2003 datatypes (as opposed to platform-specific datatypes) fall into the general categories described in Table 2-8. Note that the SQL2003 standard contains a few rarely used datatypes (ARRAY, MULTISET, REF, and ROW) that are shown only in Table 2-8 and not discussed elsewhere in the book.

Table 2-8. SQL2003 categories and datatypes


Example datatypes and abbreviations




This datatype stores binary string values in hexadecimal format. Binary string values are ...

Get SQL in a Nutshell, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.