A data type is a type of data attribute, indicating the type of information represented by the data. Any computer language defines its own data type. Of course, different programming languages have different characteristics. The types and names of the defined data types are more or less different. SQL Server provides 25 data types:
· Binary [(n)]
· Varbinary [(n)]
· Char [(n)]
· Varchar [(n)]
· Nchar [(n)]
· Nvarchar [(n)]
· Datetime
· Smalldatetime
· Decimal [(P [, S])]
· Numeric [(P [, S])]
· Float [(n)]
· Real
· Int
· Smallint
· Tinyint
· Money
· Smallmoney
· Bit
· Cursor
· Sysname
· Timestamp
· Uniqueidentifier
· Text
· Image
· Ntext
1. Basic Data Types
(1) binary data type
Binary data includes binary, varbinary, and image.
The binary data type can be either fixed-length (Binary) or variable-length.
Binary [(n)] is a fixed N-bit binary data. The value range of N is from 1 to 8000. The memory size is n + 4 bytes.
Varbinary [(n)] is a binary data with N-bit varying length. The value range of N is from 1 to 8000. The memory size is n + 4 bytes, not n Bytes.
The data stored in the image data type is stored as a bit string, which is not explained by SQL Server and must be explained by the application. For example, an application can store data in the image data type in BMP, tief, GIF, and JPEG formats.
(2) character data type
The types of character data include char, varchar, and text.
Character data is composed of any combination of letters, symbols, and numbers.
Varchar is a variable-length data with a length of no more than 8 KB. Char is a fixed-length character data with a maximum length of 8 KB. ASCII data larger than 8 KB can be stored as text data. For example, because all HTML documents are ASCII characters and generally exceed 8 kb in length, these documents can be stored in SQL Server as text data.
(3) Unicode Data Type
Unicode data types include nchar, nvarchar, and ntext.
In Microsoft SQL Server, traditional non-Unicode data types allow the use of characters defined by specific character sets. You can select a character set during SQL Server installation. The Unicode data type allows columns to store any characters defined by the Unicode standard. The Unicode Standard contains all characters defined in various character sets.
In SQL Server, Unicode data is stored as nchar, nvarchar, and ntext data. Columns stored with this character type can store characters in multiple character sets. When the length of a column changes, the nvarchar character type should be used. At this time, a maximum of 4000 characters can be stored. When the column length remains unchanged, the nchar character type should be used. Similarly, a maximum of 4000 characters can be stored. When the ntext data type is used, this column can store more than 4000 characters.
(4) Date and Time Data Types
Date and Time data types include datetime and smalldatetime.
The date and time data types are composed of valid date and time. For example, valid date and time data includes "4/01/98 12: 15: 00: 00: 00 PM" and "1: 28: 29: 15: 01 am 8/17/98 ". The first data type is the date before, the time is behind; the last data type is the time before, the date is behind. In Microsoft SQL Server, the date and time data types include datetime and smalldatetime. The stored date range starts from January 1, January 1, 1753, end on April 9, December 31, 9999 (each value requires 8 storage bytes ). When the smalldatetime data type is used, the stored date range is from January 1, January 1, 1900 to January 1, December 31, 2079 (each value requires four storage bytes ).
The date format can be set. The command to set the date format is as follows:
Set dateformat {format | @ format _ var |
Where, format | @ format_var is the date order. Valid parameters include mdy, DMY, ymd, ydm, MYD, and dym. By default, the date format is mdy.
For example, after you run set dateformat ymd, the date format is in the format of year, month, and day. After you run set dateformat DMY, the date format is in the format of day, month, and year.
(5) Digital Data Types
Numeric data only contains numbers. Numeric data types include positive and negative numbers, decimals (floating point numbers), and integers.
Integers are composed of positive integers and negative integers, such as 39, 25, 0-2, and 33967. In Micrsoft SQL Server, integer data types are int, smallint, and tinyint. The range of int data type stored data is greater than that of smallint data type stored data, while that of smallint data type stored data is greater than that of tinyint data type stored data. The range of data stored by dogs using int data is from-2 147 483 648 147 to 2 483 647 (each value requires 4 bytes of storage space ). When the smallint data type is used, the data storage range is from-32 768 to 32 767 (each value requires 2 bytes of storage space ). When the tinyint data type is used, the data storage range is from 0 to 255 (each value requires 1 byte storage space ).
The exact decimal data types in SQL Server are decimal and numeric. The storage space occupied by such data is determined based on the number of digits after the number of digits of the data.
In SQL Server, the Data Types of approximate decimal data are float and real. For example, the score 1/3 is recorded as. 3333333, which can be accurately expressed when an approximate data type is used. Therefore, the data retrieved from the system may be different from the data stored in this column.
(6) currency data
In Microsoft SQL Server, the Data Types of monetary data are money and smallmoney, indicating the number of positive or negative currencies. The money data type requires 8 storage bytes, And the smallmoney data type requires 4 Storage bytes.
(7) Special Data Types
Special data types include data types not mentioned previously. There are three special data types: Timestamp, bit, and uniqueidentifier.
Timestamp is used to indicate the sequence of SQL Server activities, in the binary projection format. The timestamp data has no relationship with the inserted data or the date and time.
Bit is composed of 1 or 0. The BIT data type is used when it indicates true or false, on, or off. For example, you can query whether a client request for each access can be stored in a column of this data type.
Uniqueidentifier consists of 16-byte hexadecimal numbers, indicating a globally unique one. GUID is useful when the record rows in a table must be unique. For example, you can use this data type in the Customer ID column to distinguish different customers.
2. User-Defined Data Types
The user-defined data type is based on the data type provided in Microsoft SQL Server. When several tables must store the same data type, and to ensure that these columns have the same data type, length, and can be empty, you can use user-defined data types. For example, you can define a data type called postal_code, which is based on the char data type.
When creating a user-defined data type, three data types must be provided: the data type name, the system data type based on, and the data type can be empty.
(1) create a user-defined data type
You can use the transact-SQL statement to create user-defined data types. The system stored procedure sp_addtype can be used to create user-defined data types. The syntax format is as follows:
Sp_addtype {type}, [, system_data_bype] [, 'null _ type']
Type is the name of the user-defined data type. System_data_type is the data type provided by the system, such as decimal, Int, and char. Null_type indicates how the data type handles null values. It must be enclosed by single quotation marks, such as 'null', 'not null', or 'nonull '.
Example:
Use cust
Exec sp_addtype SSN, 'varchar (11) ', "Not null'
Create a user-defined data type SSN. The system data type is a string of 11 characters and cannot be empty.
Example:
Use cust
Exec sp_addtype birthday, datetime, 'null'
Create a user-defined data type birthday, which is based on the system data type datetime and can be empty.
Example:
Use master
Exec sp_addtype telephone, 'varchar (24), 'not null'
Eexc sp_addtype fax, 'varchar (24) ', 'null'
Create two data types: telephone and fax
(2) Delete user-defined data types
You can delete a data type that is not required. The command for deleting user-defined data types is sp_droptype {'type '}.
Example:
Use master
Exec sp_droptype 'ssn'
Note: When columns in a table are still using user-defined data types, or are bound with default or rules, the user-defined data types cannot be deleted.