گروه مقاله : SQL Server
تاريخ انتشار : 1394/02/07 - 10:59
كد :279

انواع داده ها(Data Types) در SQL

انواع داده مشخص می کند که یک ستون چه نوع داده را می تواند در خود داشته باشد.
هر ستون در یک جدول پایگاه داده باید یک نام ویک Data Type داشته باشد.
توسعه دهنده گان SQL در هنگام ساختن جدول باید تصمیم بگیرند چه نوعی از داده در هر ستون جدول ذخیره شود .Data Type یک راهنما برای SQL محسوب می شود تا بفهمد چه نوعی از داده داخل هر ستون می تواند جای بگیرد و نیز تشخیص می دهد که چگونه SQL با داده ذخیره شده تعامل خواهد داشت.
جدول زیر فهرستی از انواع داده در SQL می باشد :
 
نوع داده                            توضیحات 
CHARACTER(n) رشته کاراکتر با طول ثابت n 
VARCHAR(n) or
CHARACTER VARYING(n)
رشته کاراکتر با طول متغیر و حد اکثر طول n 
BINARY(n)  nرشته باینری با طول ثابت 
BOOLEAN مقادیر صحیح و غلط را ذخیره می کند
VARBINARY(n) or
BINARY VARYING(n)
 nرشته عددی با طول متغیر و حد اکثر طول 
INTEGER(p)  pعدد صحیح (غیر اعشاری)،با دقت 
SMALLINT عدد صحیح (غیر اعشاری)،با دقت 5
INTEGER عدد صحیح (غیر اعشاری)،با دقت 10
BIGINT عدد صحیح (غیر اعشاری)،با دقت 19
DECIMAL(p,s)
، ثابت ((precision)و دقت (scale)اعداد با مقیاس
از منفی 1038 بعلاوه یک تا 1038 منهای یک
، ماکزیمم تعدادارقام یک عدد را نشان می دهد pپارامتر 
شامل هم ارقامی که سمت راست علامت اعشار می آیند و هم ارقامی که سمت چپ علامت اعشار می آیند 
 باید مقداری بین صفر تا 38 باشدpپارامتر 
. مقدار پیش فرض 18 می باشد
ماکزیمم تعدادارقامی که سمت راست علامت اعشاری می آید  می آید رانشان می دهدsپارامتر 
باشد p باید عددی بین صفر تاsپارامتر
. مقدار پیش فرض عدد صفر است
NUMERIC(p,s)

اعداد با مقیاس(scale) و دقت(precision) ثابت

از منفی1038بعلاوه یک تا 1038 منهای یک

FLOAT(p)

برای نگهداری اعداد غیر صحیح با تعداد ارقام اعشار متغیر یا تخمینی

   (from -1.79E + 308 to 1.79E + 308)

REAL

برای نگهداری اعداد غیر صحیح با تعداد ارقام اعشار متغیر یا تخمینی

  (from -3.40E + 38 to 3.40E + 38) 

FLOAT برای نگهداری اعداد غیر صحیح با تعداد ارقام اعشار متغیر و یا تخمـینـی استفاده می‌شود
DOUBLE PRECISION برای نگهداری اعداد غیر صحیح با تعداد ارقام اعشار متغیر و یا تخمـینـی استفاده می‌شود
DATE مقادیر سال،ماه و روز را ذخیره می کند
TIME مقادیر ساعت،دقیقه و ثانیه را ذخیره می کند
TIMESTAMP

مقادیر سال،ماه،روز،ساعت،دقیقه و ثانیه را ذخیره می کند.
هر زمان سطری ایجاد یا تغییر داده می شود، یک عدد یکتا بصورت اتوکاتیک در این فیلد ذخیره می شوددادهtimestamp وابسته به ساعت داخلی سیستم می باشد و با زمان واقعی مطابقت ندارد. هر جدولی ممکن است یکtimestamp متفاوت داشته باشد.

به عبارت دیگر در این فیلد ۸بایتی، تایم لحظه‌ای اجرای دستور نگهداری می‌شود و کاربرد آن کنترل بروزرسانی همزمان(Concurrency) اطلاعات توسط چند کاربر است. البته در تعداد رکوردهای پایین به کار نمی‌آید و بیشتر زمانی مورد نیاز است که تعداد رکوردها خیلی زیاد باشد مثلاً ۱۰۰میلیون رکورد

INTERVAL ترکیبی از فیلدهای عدد صحیح،نشان دهنده طول زمان
ARRAY مجموعه ای مرتب شده از عناصر با طول تعیین شده 
MULTISET مجموعه ای نا مرتب از عناصر با طول متغیر 
XML داده هایی با فرمت XML را ذخیره می کند. (حداکثر 2GB)

 

مرجع سریع انواع داده(Data Types) در SQL :
انواع پایگاه های داده گزینه های متفاوتی را برای تعریف نوع داده(Data Types) ارائه می دهند.
جدول زیر اسامی تعدادی از Data Type های رایج بین پایگاه داده های مختلف را نشان می دهد :
 
Data type Access SQLServer Oracle MySQL PostgreSQL
boolean Yes/No Bit Byte N/A Boolean
integer Number (integer) Int Number Int
Integer
Int
Integer
float Number (single) Float
Real
Number Float Numeric
currency Currency Money N/A N/A Money
string (fixed) N/A Char Char Char Char
string (variable) Text (<256)
Memo (65k+)
Varchar Varchar
Varchar2
Varchar Varchar
binary object OLE Object Memo Binary (fixed up to 8K)
Varbinary (<8K)
Image (<2GB)
Long
Raw
Blob
Text
Binary
Varbinary
 
نکته : انواع داده ممکن است در پایگاه داده های مختلف نام های متفاوتی داشته باشند ، حتی اگر نام ها یکسان باشند،اندازه و بقیه جزییات ممکن است فرق داشته باشد.
نظرات كاربران :