انواع Data Type در جداول
زمانیکه میخواهیم یک Filed جدید در جدول، مانند: نام، نام خانوادگی، شمارهی دانشجویی و… ایجاد کنیم باید از انواع مختلف دادهای استفاده کنیم، مثلاً برای نوشتهای مانند نام باید از نوع دادهی Char/nchar استفاده کنید و به همین ترتیب از انواع مختلف دیگر میتوان استفاده کرد. در زیر این نوع دادهها را بررسی میکنیم:
انواع دادههای رشتهای
جدول 1-3 انواع دادههای رشتهای
نوع داده |
اندازه داده |
توضیحات |
CHAR(size) |
حداکثر اندازه 8000 کاراکتر. |
طول داده ثابت است. |
VARCHAR(size) or VARCHAR(max) |
حداکثر اندازه 8000 کاراکتر با افزایش حجم. |
طول داده متغیر است و توانایی افزایش حجم تا 2 گیگابایت را داراست. |
TEXT |
حداکثر اندازه 2 گیگابایت. |
دادههای غیر یونیک با طول متغیر. |
NCHAR(size) |
حداکثر اندازه 4000 کاراکتر. |
دادههای غیر یونیک با طول ثابت. |
NVARCHAR(size) or NVARCHAR(max) |
حداکثر اندازه 4000 کاراکتر با افزایش حجم. |
طول داده متغیر است و توانایی افزایش حجم تا 2 گیگابایت را داراست. |
NTEXT |
حداکثر اندازه 1,073,741,823 bytes است. |
دادههای غیر یونیک با طول متغیر. |
BINARY(size) |
حداکثر اندازه 8000 کاراکتر. |
طول داده ثابت است. |
VARBINARY(size) or VARBINARY(max) |
حداکثر اندازه 8000 کاراکتر با افزایش حجم. |
طول داده متغیر است و توانایی افزایش حجم تا 2 گیگابایت را داراست. |
IMAGE |
حداکثر اندازه 2 گیگابایت. |
دادههای غیر یونیک با طول متغیر. |
انواع دادههای عددی
جدول 2-3 دادههای عددی
نوع داده عددی |
حداکثر اندازه |
توضیحات |
||
BIT |
عدد صحیح است که میتواند 0 یا 1 یا NULL باشد. |
|||
TINYINT |
از 0 تا 255 |
|||
SMALLINT |
از -32768 تا 32767 |
|||
INT |
از -2,147,483,648 تا 2,147,483,647 |
|||
BIGINT |
از -9,223,372,036,854,775,808 تا 9,223,372,036,854,775,807 |
|||
DECIMAL(m,d) |
M اگر مشخص نشده باشد بهصورت پیشفرض 18 در نظر گرفته میشود. |
M تعداد ارقام و d تعداد ارقام اعشار بعد از ممیز است. |
||
d اگر مشخص نشده باشد، بهصورت پیشفرض 0 در نظر گرفته میشود. |
||||
DEC(m,d) |
M اگر مشخص نشده باشد بهصورت پیشفرض 18 در نظر گرفته میشود. |
M تعداد ارقام و d تعداد ارقام اعشار بعد از ممیز. |
||
d اگر مشخص نشده باشد، بهصورت پیشفرض 0 در نظر گرفته میشود. |
||||
NUMERIC(m,d) |
M اگر مشخص نشده باشد بهصورت پیشفرض 18 در نظر گرفته میشود. |
M تعداد ارقام و d تعداد ارقام اعشار بعد از ممیز. |
||
d اگر مشخص نشده باشد، بهصورت پیشفرض 0 در نظر گرفته میشود. |
||||
FLOAT(n) |
اعداد شناور |
که در آن n تعداد تعداد بیت برای ذخیره بهصورت نماد علمی است. |
||
N بهصورت پیشفرض 53 در نظر گرفته خواهد شد. |
||||
SMALLMONEY |
از – 214,748.3648 تا 214,748.3647 |
|||
MONEY |
از -922,337,203,685,477.5808 تا 922,337,203,685,477.5807 |
انواع دادههای زمان و تاریخ
جدول 3-3 دادههای زمان و تاریخ
نوع داده |
حداکثر اندازه کاراکتر |
توضیحات |
DATE |
دامنهی اعداد از ‘0001-01-01’ تا ‘9999-12-31’. |
فرمت نمایش ‘YYYY-MM-DD'” |
DATETIME |
دامنهی اعداد از ‘1753-01-01 00:00:00’ تا ‘9999-12-31 23:59:59’. |
فرمت نمایش ‘YYYY-MM-DD hh:mm:ss[.mmm]’ |
دامنهی زمان از ’00:00:00′ تا ’23:59:59:997′ |
||
DATETIME2(fractional seconds precision) |
دامنهی تاریخ از ‘0001-01-01’ تا ‘9999-12-31’. |
فرمت نمایش ‘YYYY-MM-DD hh:mm:ss[.fractional seconds]’ |
دامنهی زمان از ’00:00:00′ تا ’23:59:59:9999999′. |
||
SMALLDATETIME |
دامنهی تاریخ از ‘1900-01-01’ تا ‘2079-06-06’. |
فرمت نمایش ‘YYYY-MM-DD hh:mm:ss’ |
دامنهی زمان از ’00:00:00′ تا ’23:59:59′. |
||
TIME |
دامنهی زمان از’00:00:00.0000000′ تا ’23:59:59.9999999′ |
فرمت نمایش ‘YYYY-MM-DD hh:mm:ss[.nnnnnnn]’ |
DATETIMEOFFSET(fractional seconds precision) |
دامنهی تاریخ از ‘0001-01-01’ تا ‘9999-12-31’. |
فرمت نمایش ‘YYYY-MM-DD hh:mm:ss[.nnnnnnn]’ [{+|-}hh:mm] |
دامنهی زمان از ’00:00:00′ تا ’23:59:59:9999999′. |
||
دامنهی منطقه از -14:00 تا +14:00. |
در جدولهایی که بررسی کردیم، تمام دادههای رشتهای، عددی، زمان و تاریخ تعریف شده است و توضیحات مربوط به آن داده شده است.
Data Typeهای دیگری نیز وجود دارد که در نسخههای جدید SQL میتوانید از آنها استفاده کنید:
جدول 4-3 دادههای دیگر
نوع داده |
توضیحات |
sql_variant |
حداکثر 8000 بایت داده از انواع مختلف داده، به جز متن،ntext و زمانسنج ذخیره میکند. |
uniqueidentifier |
شناسه منحصربهفرد جهانی (GUID) را ذخیره میکند. |
xml |
دادههای قالببندی شده XML را ذخیره میکند، حداکثر 2 گیگابایت. |
cursor |
این نوع داده برای ذخیرهی متغیرها و یا پارامترهای OUTPUT مربوط به store proceduere کاربرد دارد. |
table |
مجموعهای از نتایج را برای پردازش بعدی ذخیره میکند. |