English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

أنواع البيانات في SQL Server

تشرح الفقرات التالية أنواع البيانات التي يدعمها SQL Server.

أنواع بيانات SQL Server

دعم Microsoft SQL Server يمكن تقسيم أنواع البيانات إلى ثلاثة فئات رئيسية:النص،الرقموالالتاريخ/الوقتالبيانات.

نوع البيانات النصية

تُستخدم عادةً أنواع البيانات النصية لتخزين الأسماء، العناوين، الوصفات أو أي قيمة تحتوي على أحرف وأرقام، بما في ذلك بيانات ثنائية مثل الصور أو ملفات الصوت.

نوع البياناتالوصف
char(n)تخزين سلاسل ثابتة الطول. طولها الأقصى هو 8,000 حرف.
varchar(n)تخزين سلاسل طويلة العرض. طولها الأقصى هو 8,000 حرف.
varchar(max)تخزين سلاسل طويلة العرض. هنا، max يعني الحجم الأقصى للتخزين هو 2 غيغابايت.
textتخزين سلاسل طويلة العرض. الحجم الأقصى للتخزين هو 2 غيغابايت.
ncharتخزين سلاسل Unicode ثابتة الطول. طولها الأقصى هو 4,000 حرف.
nvarcharتخزين سلاسل Unicode طويلة العرض. طولها الأقصى هو 4,000 حرف.
nvarchar(max)تخزين سلاسل Unicode طويلة العرض. هنا، max يعني الحجم الأقصى للتخزين هو 2 غيغابايت.
ntextتخزين سلاسل Unicode طويلة العرض. الحجم الأقصى للتخزين هو 2 غيغابايت.
binary(n)تخزين بيانات ثنائية ثابتة الطول. الحجم الأقصى للتخزين هو 8,000 بايت.
varbinary(n)تخزين بيانات ثنائية طويلة العرض. الحجم الأقصى للتخزين هو 8,000 بايت.
varbinary(max)تخزين بيانات ثنائية طويلة العرض. هنا، max يعني الحجم الأقصى للتخزين هو 2 غيغابايت.
imageتخزين بيانات ثنائية طويلة العرض. الحجم الأقصى للتخزين هو 8,000 بايت.

نوع البيانات العددية

تُستخدم عادةً أنواع البيانات العددية لتخزين أسعار، رواتب، إلخ.

نوع البياناتالوصف
bitيُمكّنك من تخزين القيمة 1، 0 أوNULL.
tinyintتخزين قيمة الصفر الكامل بين 0 و 255.
smallintتخزين قيمة الصفر الكامل في نطاق من -32,768 إلى 32,767.
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(p,s)تخزين دقة الثبات والمساهمة في النقاط العشرية. القيمة الصحيحة هي 10 ^38 +1 إلى 10 ^38-1. بشأنلمزيد من التفاصيل،يرجى الرجوع إلى النص أدناه.
numeric(p,s)تُماثل وظيفياً نوع البيانات numeric مع decimal.
smallmoneyيُمكّنك من تخزين قيمة العملة أو قيمة العملة بدقة، مع نطاق من -214,748.3648 إلى 214,748.3647.
moneyيسمح لك بتخزين القيم النقدية بدقة أو قيم النقدية، النطاق من -922,337,203,685,477.5808 إلى 922,337,203,685,477.5807.
float(n)يخزن القيم العددية العشوائية. القيم المقبولة من -1.79E + 308 إلى -2.23E-308، و0، و2.23E-308 إلى 1.79E + 308.
realيخزن القيم العددية العشوائية. القيم المقبولة من -3.40E + 38 إلى -1.18E-38، و0، و1.18E-38 إلى 3.40E + 38.

عند تعريف عمود decimal أو numeric، يمكنك تحديد دقة وأرقام النقاط العشرية، مثل decimal(p,s) أو numeric(p,s)، حيث يمثل p أو الدقة عدد الأرقام التي يمكن تخزينها بما في ذلك اليسار واليمن من نقطة العشرية. يجب أن تكون الدقة بين 1 و38. تكون القيمة الافتراضية 18.

أوsأو scale يمثل عدد الأرقام التي يمكن تخزينها بعد نقطة العشرية. قم بطرح هذا الرقم من p لتحديد عدد الأرقام التي يمكن تخزينها قبل نقطة العشرية. يجب أن تكون أرقام النقاط العشرية بين 0 وp. تكون القيمة الافتراضية 0.

على سبيل المثال، يمكن للعمود price decimal(6,2) تخزين أي قيمة تحتوي على ستة أرقام وأربعة عشر صفرًا، أي من -9999.99 إلى 9999.99.

نوع بيانات التاريخ والوقت

يستخدم نوع بيانات التاريخ والوقت عادةً لتحديد البيانات مثل تاريخ الميلاد، تاريخ التوظيف، وتاريخ إنشاء أو تحديث السجلات في الجدول، وما إلى ذلك.

نوع البياناتالوصف
dateيخزن قيم التاريخ، النطاق من 0001-01-01 (1월 1일، 1월) إلى
9999-12-31 (9999년 12월 31일).
timeيخزن الوقت في اليوم بدقة 100 نانو ثانية. القيم المقبولة من 00:00:00.0000000 إلى 23:59:59.9999999.
datetimeيخزن القيم المدمجة للتاريخ والوقت بدقة 3.33 مللي ثانية. نطاق تاريخ datetime من 1753-01-01 (1753년 1월 1일) إلى 9999-12-31 (9999년 12월 31일).
datetime2

datetime2 هو توسيع لدالة datetime ولديه نطاق تاريخ أوسع. نطاق تاريخ datetime2 من 0001-01-01 (January 1, 1) إلى 9999-12-31 (December 31, 9999).

smalldatetimeيخزن القيم المدمجة للتاريخ والوقت بدقة دقيقة واحدة.
2079-06-06 (6 يونيو 2079).
datetimeoffsetمثل إضافة تحويل الوقت الزمني إلى datetime2. النسق الافتراضي هو YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|-}hh:mm]. نطاق صلاحية تحويل الوقت الزمني هو من -14:00 إلى +14:00.
timestampفي SQL Server، التوقيت هو اسم موحد لمفهوم rowversion، وهو نوع بيانات يتم إنشاؤه تلقائيًا في قاعدة البيانات كعدد ثنائي فريد. يُستخدم rowversion عادة كعلامة إصدار لسطر الجدول

ملاحظة:كل مرة يتم فيها إدراج أو تعديل سطر يحتوي على عمود rowversion في الجدول، يتم إدراج قيمة الزيادة في rowversion في عمود rowversion. يمكن أن يكون لدي الجدول عمود rowversion واحد فقط.