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 provide some control and efficiency as to how tables are defined and how the data is stored within the table. Using specific datatypes enables better, more understandable queries and helps control the integrity of data.

The tricky thing about SQL2003 datatypes is that they do not always map directly to an identical implementation in a given platform. Although the 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 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 elsewhere in the book.)

Table 2-8. SQL2003 categories and datatypes

Category

Example datatypes and abbreviations

Description

BINARY

BINARY LARGE OBJECT (BLOB)

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

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.