در زیر لیست انواع Data Type ها در SQL Server 2008 به همراه محدودیت های آنها ذکر شده است :
Bit :
این نوع فیلد حاوی مقدار صفر و یا 1 می باشد , و می تواند به عنوان بیت نشان دهنده یک وضعیت مفید باشد , مثلا فعال و یا غیر فعال بودن یک کاربر
Int :
این نوع فیلد می تواند شامل داده های عددی صیحح از محدوده -2^31 (-2,147,483,648) ,2^31-1 (2,147,483,647)باشد , این نوع داده نیاز به 4 بایت از فضای دیسک را دارد
Bigint :
این نوع فیلد می تواند شامل داده های عددی صیحح از محدوده-2^63 (-9,223,372,036,854,775,808) , 2^63-1 (9,223,372,036,854,775,807) باشد , این نوع داده نیاز به 8 بایت از فضای دیسک را دارد و برای ذخیره نمودن اعداد صحیح بسیار بزرگ که در نوع Int جا نمی گیرند مفید است .
Smallint :
این نوع فیلد می تواند شامل داده های عددی صیحح از محدوده -2^15 (-32,768) to 2^15-1 (32,767) می باشد و نیاز به 2 بایت از فضای برای ذخیره سازی دارد . از این نوع داده ها برای ذخیره نمودن اعداد صحیح کوچکتر از نوع Int استفاده می شود , چون فضای کمتری نصبت به نوع Int اشغال می کنند .
Tinyint :
این نوع فیلد می تواند شامل داده های عددی صیحح از محدوده صفر تا 255 باشد , این نوع از داده به یک بایت از فضای دیسک نیاز دارند و بدلیل کم بودن محدوده عددی استفاده محدودی دارند .
Decimal :
این نوع داده ها , داده هایی با دقت ثابت در محدوده 10^38 – 1 تا - 10^38 – 1- هستند , این نوع داده ها از 2 پارامتر تشگیل می شوند : دقت و مقیاس
منظور از دقت (Precision) , تعداد کل رقامی است که می تواند در فیلد ذخیره شود و مقیاس (Scale) تعداد ارقامی است که می تواند بعد از نقطه اعشار ذخیره نمود . مثلا اگر دقت 5 و مقیاس 3 داشته باشیم فرمت فیلد به صورت 12.123 خواهد بود .
Numeric :
این نوع داده ها دقیقا مانند داده های نوع Decimal هستند .
Money :
محدوده این نوع از داده ها از -922,337,203,685,477.5808 to 922,337,203,685,477.5807 می باشد و به 8 بایت از فضای دیسک جهت ذخیره سازی نیاز دارند و برای ذخیره سازی مقادیر ارزی بزرگ استفاده می شوند .
Smallmoney :
محدوده این نوع از داده ها از - 214,748.3648 to 214,748.3647 می باشد و به 4 بایت از فای دیسک نیاز دارد و مقادیر ارزی کوچکتری را نسبت به Money در خود ذخیره می کند .
Float :
این نوع داده ها , داده هایی با دقت شناور در محدوده 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308 می باشند که تعداد اعداد بعد از اعشار آنها پایان ندارد , مانند عدد p که باید پایان آن را برآورد کرد , داده نوع Float نیز دقیقا این کار را انجام می دهد , مثلا اگر از Folat(2) استفاده کنید عدد p به صورت 14/3 تنها با دورقم اعشار نگهداری می شود .
Real :
این نوع داده ها , داده هایی با دقت شناور در محدوده - 3.40E + 38 to -1.18E - 38, 0 and 1.18E - 38 to 3.40E + 38 می باشند , Real در واقع نوعی Folat (24) , با 24 رقم پس از نقطه اعشار است .
DateTime :
این نوع داده تاریخ و زمان از اول ژانویه 1735 تا 31 دسامبر 9999 را با دقت 33/3 میلی ثانیه نگهداری می کند و به 8 بایت از فضای دیسک نیاز دارد .
SmallDateTime :
این نوع داده تاریخ و زمان از اول ژانویه 1900 تا 6 ژوئن 2079 را با دقت 1 دقیقه نگهداری می کند و به 3 بات از فضای دیسک نیاز دارد .
Timestamp :
این نوع داده ها برای علامتگذاری هر Record در هنگام Insert , و Update ها ی پس از Insert استفاده می شوند و در کل برای اطلاع و پیگیری تغییرات داده ها استفاده می شوند .
Uniqueidentifier :
در SQL Server از تابع NEWID() جهت ایجاد GUID استفاده می شود که یک کد منحصر بفرد است , کدی شبیه کد زیر :
6f9618ff-8b86-d022-s45g-0c04fwr65g90
این اعداد در نوع داده Uniqueidentifier ذخیره می شوند
Char :
در این نوع داده , داده های کاراکتری غیر یونی کد با طول ثابت و حداکثر 8000کاراکتر ذخیره می شوند , این نو داده برای کاراکتر ایی که همیشه طول آنها ثابت است مفید است مثلا جنسیت که یا زن است و یا مرد
این نوع داده همیشه صرفنظر از تعداد کاراکترهایی که در فیلد ذخیره می شوند همیشه به میزان فضایی که برای فیلد تعریف شده است فضا مصرف می کند مثلا
Name=char(5)
فیلد Name حتی اگر شامل 2 کاراکتر باشد هم 5 بایت از فضای دیسک را مصرف می کند .
VarChar :
در این نوع داده , داده های کاراکتری غیر یونی کد با طول متغیر و حداکثر 8000 کاراکتر ذخیره می شوند , این نوع داده ها برای زمانی که طول داده های کاراکتری همیشه به یک انداره نیستند استفاده می شوند که این امر سبب می شوند فضای کمتری برروی دیسک مصرف شود
Name=Varchar(5)
اگر فیلد Name شمل 2 کاراکتر باشد فقط به اندازه 2 کاراکتر از فضای دیسک مصرف می کند .
VarChar(max) :
این نوع داده دقیقا مانند VarChar است اما به اندازه Max معین 2^31-1 بایت از داده را ذخیره می کند .
NChar :
در این نوع داده ها , داده های یونی کد با طول ثابت و حداکثر 4000 کاراکتر را ذخیره می نمایند ,
Nvarchar :
در این نوع داده ها , داده های یونی کد با طول ثابت و حداکثر 4000 کاراکتر را ذخیره می نمایند , و مانند nchar هستند ولی در مواقعی که تعداد کاراکتر ها کمتر باشد فضای کمتری از دیسک را مصرف می کند .
Nvarchar(max) :
این نوع داده ها دقیقا مانند nvarchar هستند اما به اندازه Max معین 2^31-1 بایت از داده را ذخیره می کند .
Xml :
از این نوع داده برای ذخیره سازی کل سندهای xml و یا fragment ها استفاده می شود .
Identity :
در واقع یک نوع داده خاصی نمی باشند و یک نوع Property محصوب می شوند که باعث ایجاد یک عدد صحیح غیر تکراری برای یک ستون می شوند , مثلا مقدار اولین سطر یک جدوا 1و سطر بعدی 2 و . . .
نکته : نوع داده های Text , Ntext , Image در SQL Sever 2008 کنار گذاشته شدند و به جای آنها از Varchar(max) ,* Nvarchar(max) , Varbinary(max) استفاده می شود .
.Varbinary(max)
از این نوع داده جهت ذخیره نمودن داده های باینری مانند تصاویر استفاده می شود , این نوع داده ها به اندازه Max معین 2^31-1 بایت از داده را ذخیره می کند
Cursor :
این نوع داده ها برای ذخیره نمودن variable ها و یا خروجی sp ها استفاده می شوند , درواقع Cursor یک اشاره گر به مجموعه ای از سطر ها است . در زمان ایجاد یک Table نمی توانیم نوع یک فیلد را به صورت Cursor انتخاب کنیم .
Table :
از این نوع داده جهت باز گرداندن کل جداول از Store Procedur ها و یا ذخیره کردن آنها در متغیر ها استفاده می شود , اما از این نوع داده ها نمی توان برای ذخیره نمودن یک جدول در ستونی از یک جدول دیگر استفاده نمود .
نکته : در زمان ایجاد یک Table نمی توانیم نوع یک فیلد را به صورت Table انتخاب کنیم .
salm dost aziz mamnon babat etelahat marbot be SQL faghat menbad ba font dorost benevisid....
tanx
salam dost aziz hatman font ro avaz kardam
mersi babat nazaret
chera nemisheh vared veblog shoma shod????????????????