گروه مقاله : SQL Server
تاريخ انتشار : 1394/02/07 - 10:59
كد :279
انواع داده مشخص می کند که یک ستون چه نوع داده را می تواند در خود داشته باشد.
هر ستون در یک جدول پایگاه داده باید یک نام ویک 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 |
نکته : انواع داده ممکن است در پایگاه داده های مختلف نام های متفاوتی داشته باشند ، حتی اگر نام ها یکسان باشند،اندازه و بقیه جزییات ممکن است فرق داشته باشد.