Special data includes data that cannot be represented by the binary, character, Unicode, date and time, numeric, and currency data types previously described.
Microsoft® SQL Server™ 2000 contains four special data types:
timestamp
is used to represent the order of SQL Server activities on a row, expressed as an increasing number in binary format. When a row in the table changes, the timestamp is updated with the timestamp value of the current database obtained from the @@DBTS function. timestamp data is independent of the date and time the data was inserted or modified. To automatically record when data in a table changes, use the datetime or smalldatetime data type to record events or triggers.
Explanation In SQL Server, rowversion is a synonym for timestamp.
bit The
bit data type can only contain 0 or 1. You can use the bit data type to represent TRUE or FALSE, YES or NO. For example, a question asking a customer if this is their first visit could be stored in the bit column.
uniqueidentifier
Represents a globally unique identifier (GUID) as a 16-digit hexadecimal number. GUIDs are used when a row needs to be uniquely identified across multiple rows. For example, you can use the unique_identifier data type to define a customer identification code column to compile a company's total customer directory from multiple countries.
sql_variant
A data type that stores values from every data type supported by SQL Server (except text, ntext, timestamp, and sql_variant).
table
A special data type that stores result sets for later processing. The table data type can only be used to define local variables of table type or return values of user-defined functions.
User-defined
Allows the use of user-defined data types, for example, product_code can be designed to be formatted as two uppercase letters followed by a 5-digit supplier number based on the char data type.