نوع داده‌های SQL

نوع داده‌ها و محدوده‌های استفاده شده در Microsoft Access، MySQL و SQL Server.

نوع داده‌های Microsoft Access

نوع داده توضیح ذخیره
Text برای ترکیب متن و اعداد استفاده می‌شود. حداکثر 255 کاراکتر.  
Memo

Memo برای مقدار بیشتری از متن استفاده می‌شود. حداکثر می‌تواند 65,536 کاراکتر ذخیره کند.

توضیح: نمی‌توان از زمینه‌های memo برای مرتب‌سازی استفاده کرد. اما آنها قابل جستجو هستند.

 
Byte اعداد بین 0 تا 255 مجاز هستند. 1 بایت
Integer اعداد بین -32,768 تا 32,767 مجاز هستند. 2 بایت
Long همه اعداد بین -2,147,483,648 و 2,147,483,647 مجاز هستند. 4 byte
Single یک نقطه‌ای دقیق. برای بیشتر اعداد اعداد اعشاری مناسب است. 4 byte
Double دو نقطه‌ای دقیق. برای بیشتر اعداد اعداد اعشاری مناسب است. 8 بایت
Currency

برای ارز استفاده می‌شود. پشتیبانی از 15 رقم بزرگتر و 4 رقم کوچکتر از آن.

توضیح: شما می‌توانید ارز کشور مورد نظر خود را انتخاب کنید.

8 بایت
AutoNumber زمینه‌های AutoNumber به صورت خودکار برای هر رکورد عددی اختصاص می‌دهند، معمولاً از 1 شروع می‌شود. 4 byte
Date/Time برای تاریخ و زمان استفاده می‌شود. 8 بایت
Yes/No

زمینه‌های منطقی، که می‌توانند به صورت Yes/No، True/False یا On/Off نمایش داده شوند.

در کد، از مقادیر ثابت True و False (معادل 1 و 0) استفاده کنید.

توضیح: در زمینه‌های Yes/No، مقدار NULL مجاز نیست.

1 بیت
Ole Object می‌توان تصاویر، صدا، ویدئو یا دیگر BLOBs (مقالات بزرگ باینری) را ذخیره کرد. حداکثر 1GB
Hyperlink شامل لینک‌های به دیگر فایل‌ها، از جمله صفحات وب است.  
Lookup Wizard اجازه می‌دهد تا یک لیست از گزینه‌های موجود در لیست زیر ایجاد کنید. 4 byte

نوع داده‌های MySQL

در MySQL، سه نوع اصلی وجود دارد: نوع متن، نوع عددی و نوع تاریخ/زمان.

نوع Text:

نوع داده توضیح
CHAR(size) حفظ رشته‌های طول ثابت (می‌تواند شامل حروف، اعداد و کاراکترهای خاص باشد). طول رشته را در گوشه‌های مربوطه مشخص کنید. حداکثر 255 کاراکتر.
VARCHAR(size)

حفظ رشته‌های طول متغیر (می‌تواند شامل حروف، اعداد و کاراکترهای خاص باشد). طول حداکثر رشته را در گوشه‌های مربوطه مشخص کنید. حداکثر 255 کاراکتر.

注释:如果值的长度大于 255,则被转换为 TEXT 类型。

TINYTEXT حداکثر طول 255 کاراکتر از رشته‌ها ذخیره می‌شود.
TEXT حداکثر طول 65,535 کاراکتر از رشته‌ها ذخیره می‌شود.
BLOB برای BLOBs (جایگاه بزرگ داده‌های باینری). حداکثر 65,535 بایت داده ذخیره می‌شود.
MEDIUMTEXT حداکثر طول 16,777,215 کاراکتر از رشته‌ها ذخیره می‌شود.
MEDIUMBLOB برای BLOBs (جایگاه بزرگ داده‌های باینری). حداکثر 16,777,215 بایت داده ذخیره می‌شود.
LONGTEXT حداکثر طول 4,294,967,295 کاراکتر از رشته‌ها ذخیره می‌شود.
LONGBLOB برای BLOBs (جایگاه بزرگ داده‌های باینری). حداکثر 4,294,967,295 بایت داده ذخیره می‌شود.
ENUM(x,y,z,etc.)

اجازه می‌دهد لیست مقادیر ممکن را وارد کنید. می‌توانید تا 65535 مقدار را در لیست ENUM لیست کنید. اگر مقدار مورد نظر در لیست وجود نداشته باشد، مقدار خالی (null) وارد می‌شود.

نکته: این مقادیر به ترتیب ورودی شما ذخیره می‌شوند. ممکن است مقادیر ممکن را به این صورت وارد کنید: ENUM('X','Y','Z')

نوع Number:

نوع داده توضیح
SETsize) مانند ENUM،SET بیشترین تعداد 64 آیتم لیستی را می‌تواند شامل شود، اما SET می‌تواند بیش از یک مقدار را ذخیره کند.
SMALLINT(size) -32768 تا 32767 معمولی. 0 تا 65535 بی‌نشان*. تعداد بیشترین دقت در بین پارنتیزها مشخص شده است.
MEDIUMINT(size) -8388608 تا 8388607 معمولی. 0 تا 16777215 بی‌نشان*. تعداد بیشترین دقت در بین پارنتیزها مشخص شده است.
INT(size) -2147483648 تا 2147483647 معمولی. 0 تا 4294967295 بی‌نشان*. تعداد بیشترین دقت در بین پارنتیزها مشخص شده است.
BIGINT(size) -9223372036854775808 تا 9223372036854775807 معمولی. 0 تا 18446744073709551615 بی‌نشان*. تعداد بیشترین دقت در بین پارنتیزها مشخص شده است.
FLOAT(size,d) اعداد کوچک با نقطه شناور. تعداد بیشترین دقت در بین پارنتیزها مشخص شده است. تعداد بیشترین دقت در سمت راست از نقطه در پارامتر d مشخص شده است.
DOUBLE(size,d) اعداد بزرگ با نقطه شناور. حداکثر تعداد ارقام مشخص می‌شود. تعداد ارقام پس از نقطه مشخص می‌شود.
DECIMAL(size,d) نوع DOUBLE به عنوان رشته ذخیره می‌شود و اجازه می‌دهد به نقطه ثابت داشته باشد.

* این نوع‌های عددی گزینه‌های اضافی UNSIGNED دارند. معمولاً اعداد می‌توانند منفی یا مثبت باشند. اگر ویژگی UNSIGNED اضافه شود، محدوده از 0 شروع می‌شود، نه عدد منفی.

نوع تاریخ:

نوع داده توضیح
DATE()

تاریخ. فرمت: YYYY-MM-DD

توضیح: محدوده پشتیبانی از '1000-01-01' تا '9999-12-31'.

DATETIME()

* ترکیب تاریخ و زمان. فرمت: YYYY-MM-DD HH:MM:SS

توضیح: محدوده پشتیبانی از '1000-01-01 00:00:00' تا '9999-12-31 23:59:59'.

TIMESTAMP()

*تایم استمپ. مقادیر TIMESTAMP با استفاده از توضیح Unix اپک ('1970-01-01 00:00:00' UTC) تا کنون ذخیره می‌شوند. فرمت: YYYY-MM-DD HH:MM:SS

توضیح: محدوده پشتیبانی از '1970-01-01 00:00:01' UTC تا '2038-01-09 03:14:07' UTC.

TIME()

زمان. فرمت: HH:MM:SS

توضیح: محدوده پشتیبانی از '-838:59:59' تا '838:59:59'.

YEAR()

سال به فرمت 2 یا 4 رقمی.

توضیح: مقادیر مجاز برای فرمت 4 رقمی: 1901 تا 2155. مقادیر مجاز برای فرمت 2 رقمی: 70 تا 69، که از 1970 تا 2069 نشان می‌دهند.

* حتی اگر DATETIME و TIMESTAMP فرمت مشابهی را بازمی‌گردانند، روش کارکرد آن‌ها بسیار متفاوت است. در جستجوهای INSERT یا UPDATE، TIMESTAMP به صورت خودکار تاریخ و زمان فعلی را تنظیم می‌کند. TIMESTAMP همچنین فرمت‌های مختلفی را می‌پذیرد، مانند YYYYMMDDHHMMSS، YYMMDDHHMMSS، YYYYMMDD یا YYMMDD.

نوع داده‌ی SQL Server

رشته‌ای از کاراکترها:

نوع داده توضیح ذخیره
char(n) رشته‌ای با طول ثابت. حداکثر 8,000 کاراکتر. n
varchar(n) رشته‌ای با طول قابل تغییر. حداکثر 8,000 کاراکتر.  
varchar(max) رشته‌ای با طول قابل تغییر. حداکثر 1,073,741,824 کاراکتر.  
text رشته‌ای با طول قابل تغییر. حداکثر 2GB داده‌ی کاراکتری.  

رشته Unicode:

نوع داده توضیح ذخیره
nchar(n) داده‌های Unicode با طول ثابت. حداکثر 4,000 کاراکتر.  
nvarchar(n) داده‌های Unicode با طول متغیر. حداکثر 4,000 کاراکتر.  
nvarchar(max) داده‌های Unicode با طول متغیر. حداکثر 536,870,912 کاراکتر.  
ntext داده‌های Unicode با طول متغیر. حداکثر 2GB داده‌های کاراکتری.  

نوع Binary:

نوع داده توضیح ذخیره
bit 0، 1 یا NULL مجاز هستند.  
binary(n) داده‌های باینری با طول ثابت. حداکثر 8,000 بایت.  
varbinary(n) داده‌های باینری با طول متغیر. حداکثر 8,000 بایت.  
varbinary(max) داده‌های باینری با طول متغیر. حداکثر 2GB بایت.  
image داده‌های باینری با طول متغیر. حداکثر 2GB.  

نوع Number:

نوع داده توضیح ذخیره
tinyint تمام اعداد بین 0 تا 255 مجاز هستند. 1 بایت
smallint تمام اعداد بین -32,768 تا 32,767 مجاز هستند. 2 بایت
int تمام اعداد بین -2,147,483,648 تا 2,147,483,647 مجاز هستند. 4 byte
bigint تمام اعداد بین -9,223,372,036,854,775,808 و 9,223,372,036,854,775,807 مجاز هستند. 8 بایت
decimal(p,s)

اعداد با دقت ثابت و تناسب. از -10^38 +1 تا 10^38 -1 اعداد را مجاز می‌کند.

پارامتر p نشان‌دهنده حداکثر تعداد دوددهای قابل ذخیره (در سمت چپ و راست از نقطه) است. p باید بین 1 تا 38 باشد. مقدار پیش‌فرض 18 است.

پارامتر s نشان‌دهنده حداکثر تعداد دوددهای سمت راست از نقطه قرار دارد. s باید بین 0 تا p باشد. مقدار پیش‌فرض 0 است.

5-17 بایت
numeric(p,s)

اعداد با دقت ثابت و تناسب. از -10^38 +1 تا 10^38 -1 اعداد را مجاز می‌کند.

پارامتر p نشان‌دهنده حداکثر تعداد دوددهای قابل ذخیره (در سمت چپ و راست از نقطه) است. p باید بین 1 تا 38 باشد. مقدار پیش‌فرض 18 است.

پارامتر s نشان‌دهنده حداکثر تعداد دوددهای سمت راست از نقطه قرار دارد. s باید بین 0 تا p باشد. مقدار پیش‌فرض 0 است.

5-17 بایت
smallmoney اعداد پولی بین -214,748.3648 و 214,748.3647. 4 byte
money اعداد پولی بین -922,337,203,685,477.5808 و 922,337,203,685,477.5807. 8 بایت
float(n)

اعداد صحیح شناور بین -1.79E + 308 تا 1.79E + 308.

پارامتر n نشان‌دهنده این است که این فیلد 4 بایت یا 8 بایت ذخیره می‌کند. float(24) 4 بایت ذخیره می‌کند، در حالی که float(53) 8 بایت ذخیره می‌کند. مقدار پیش‌فرض n 53 است.

4 یا 8 byte
real عدد با دقت شناوره از -3.40E + 38 تا 3.40E + 38. 4 byte

نوع تاریخ:

نوع داده توضیح ذخیره
datetime از 1 ژانویه 1753 تا 31 دسامبر 9999، با دقت 3.33 میلی‌ثانیه. 8 bytes
datetime2 از 1 ژانویه 1753 تا 31 دسامبر 9999، با دقت 100 نانو ثانیه. 6-8 bytes
smalldatetime از 1 ژانویه 1900 تا 6 ژوئن 2079، با دقت یک دقیقه. 4 bytes
date تنها تاریخ را ذخیره می‌کند. از 1 ژانویه 0001 تا 31 دسامبر 9999. 3 bytes
time تنها زمان را ذخیره می‌کند. دقت 100 نانو ثانیه است. 3-5 bytes
datetimeoffset مثل datetime2، با تغییر ساعت منطقه‌ای. 8-10 bytes
timestamp ذخیره عدد منحصر به فرد، که هر بار که یک ردیف ایجاد یا ویرایش می‌شود، به‌روزرسانی می‌شود. timestamp بر اساس ساعت داخلی است و با زمان واقعی همخوانی ندارد. هر جدول فقط می‌تواند یک متغیر timestamp داشته باشد.  

نوعهای داده دیگر:

نوع داده توضیح
sql_variant ذخیره داده‌های نوع مختلف با حداکثر 8,000 بایت، به استثنای text، ntext و timestamp.
uniqueidentifier ذخیره شناسه‌های منحصر به فرد (GUID).
xml ذخیره داده‌های فرمت XML. حداکثر 2GB.
cursor ذخیره اشاره‌گرهایی که برای عملیات پایگاه داده استفاده می‌شوند.
table جمع‌آوری نتایج ذخیره شده برای پردازش بعدی.