SQL Server 2000 Data Types

April 16, 2008 – 8:46 pm

SQL Server requires that each variable and column in a table should be defined with respect to the type of data it will store. From a bit to a huge image and binary , the allocation is supposed to help the user conform to the data required, and help the engine allocate space and processing speed efficiently.

Built-in

SQL recognizes the following built in :


Description

bigint
from -2^63 through 2^63-1

int
from -2^31 through 2^31 - 1

smallint
from -2^15 through 2^15 - 1

tinyint
from 0 through 255

bit
with either a 1 or 0 value

decimal
Fixed precision and scale numeric data from -10^38 +1 through 10^38 -1

numeric
Fixed precision and scale numeric data from -10^38 +1 through 10^38 -1


values from -2^63 through 2^63 - 1

smallmoney
values from -214,748.3648 through +214,748.3647

float
Floating precision number data from -1.79E + 308 through 1.79E + 308

real
Floating precision number data from -3. + 38 through 3. + 38

datetime
Date and from , 1753, through , 9999, with an of 3.33 milliseconds

smalldatetime
Date and from , 1900, through June 6, 2079, with an of one minute

char
Fixed-length with a of 8,000 characters

varchar
Variable-length data with a maximum of 8,000 characters

text
Variable-length data with a of 2^31 - 1 characters

nchar
Fixed-length Unicode data with a of 4,000 characters

nvarchar
Variable-length Unicode data with a of 4,000 characters

ntext
Variable-length Unicode data with a of 2^30 - 1 characters

binary
Fixed-length binary data with a of 8,000 bytes

varbinary
Variable-length binary data with a of 8,000 bytes

image
Variable-length binary data with a of 2^31 - 1 bytes

cursor
A reference to a cursor

sql_variant
A data type that stores values of various , except text, ntext, timestamp, and sql_variant

table
A special data type used to store a result set for later processing

timestamp
A database-wide unique number that gets updated every time a row gets updated

uniqueidentifier
A globally unique identifier

Bigint, sql_variant, and table are new to SQL

User-defined

You can make user-defined too, which sometimes can be more descriptive of the value types held in the object. This may make it easier for the programmer to document and work with the data. These are based on the built in types, and can be outfitted with preprogrammed defaults, checks, constraints, etc. . To create a user-defined data type, use

sp_addtype datatypename, basedatatype, ‘NULL’/'NOT NULL’

How to choose the appropriate data type

SQL Server stores data in data pages that are 8Kb (8192 bytes) in size. The system uses some of that s Sometimes, the system uses only 8060 bytes are availableto that are available to store user’s data. Consider the size of a row of data in your tables. If the rows are large, make sure that multiples of the fit conveniently on a data page so that page space is not wasted. This is cut down on disk paging overhead when accessing the data. You want to maximize the number of rows of data which that will fit on a page. This can be accomplished both by splitting the tables, and by choosing the smallest data type which that will accommodate your data. .

In you are using , data; consider that the tinyint datatype will accommodate data which that will fit into one byte of storage. So if the range of all of the data in your field (or variable) is between 0 and 255, use the tinyint datatype. If the range is between -32,768 and 32,767, use the smallint data type. And if If you need to store from -2,147,483,648 through 2,147,483,647, use int data type.

Similarly with smallmoney. If smallmoney. if your value range is between -214748.3648 and 214,748.3647, use the smallmoney datatype.

Use smalldatetime data type instead of datetime data type, if you need to store the date and from , 1900 through June 6, 2079, with to the minute.

Prefer varchar.nvarchar to text/ntext whenever possible because the text and image fields are stored separately, which produces additional paging. And prefer char/varchar to nchar/nvarchar because the n types require twice as much storage space. The n types are used primarily for unicode data.

Resources
• Tutorial: SQL 7 & Database Files
This is a useful tutorial on SQL & and database Files.

• Information: Complete information on SQL
This resource provides complete information on SQL.

Metro NY / NJ SQL Server Consultants
We specialize is custom database software. Call us for a free consultation (973) 635 0080 or email us at paladn.com
About The Author

Chris Kemp is a well known author in the field of Information Technology. His articles are very popular and well known in the various article banks across internet. His popular articles are about SQL Server, Database Design, IT Consulting and Software Development.

chriskemp@webpopularity.org

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Google
  • Furl
  • StumbleUpon
  • Technorati
  • YahooMyWeb

You must be logged in to post a comment.