أنواع بيانات SQL Server مع الأمثلة

ما هو نوع البيانات؟

A نوع البيانات يتم تعريف خادم SQL على أنه نوع البيانات التي يمكن لأي عمود أو متغير تخزينها. إنه نوع من البيانات التي يحملها كائن مثل عدد صحيح أو حرف أو سلسلة وما إلى ذلك. أثناء إنشاء أي جدول أو متغير، بالإضافة إلى تحديد الاسم، يمكنك أيضًا تعيين نوع البيانات التي سيتم تخزينها.

كيفية استخدام نوع البيانات MS SQL

  • يتعين عليك أن تحدد مسبقًا نوع البيانات التي يمكن للعمود أو المتغير تخزينها. كما أن تحديد نوع البيانات يمنع المستخدم من إدخال أي بيانات غير متوقعة أو غير صالحة.
  • يمكنك الاستفادة بكفاءة من الذاكرة عن طريق تعيين نوع بيانات مناسب لمتغير أو عمود والذي سيخصص فقط المقدار المطلوب من ذاكرة النظام لبيانات العمود المعني.
  • يقدم MS SQL فئة واسعة من أنواع البيانات الأساسية في SQL وفقًا لاحتياجات المستخدم مثل التاريخ والصور الثنائية وما إلى ذلك.

لماذا استخدام أنواع البيانات؟

دعونا نأخذ عينة بسيطة صفحة التسجيل تطبيق موقع الويب. ثلاثة حقول إدخال هي الاسم الأول واسم العائلة ورقم الاتصال.

هنا يجب أن نلاحظ أنه في الوقت الحقيقي:

  • "اول آخر اسم" سوف يكون دائما أبجدي.
  • "اتصل" سوف يكون دائما الرقمية.
أنواع بيانات خادم SQL
مثال على أنواع البيانات في MS SQL
  • من الصورة أعلاه يستحق التحديد "اول آخر اسم" ك حرف "اتصل" باعتبارها عدد صحيح.

من الواضح أنه في أي تطبيق، تحتوي كافة الحقول على نوع أو نوع آخر من البيانات. على سبيل المثال، رقمية، أبجدية، تاريخ، وغيرها الكثير.

لاحظ أيضًا أن نوع البيانات المختلف له متطلبات ذاكرة مختلفة. ولذلك، فمن المنطقي أكثر تحديد العمود أو متغير مع نوع البيانات الذي سيحتفظ به للاستخدام الفعال للذاكرة.

نوع البيانات المتوفرة في MS SQL Server

فيما يلي قائمة أنواع بيانات خادم MS SQL:

خادم MS SQL يدعم الفئات التالية من نوع البيانات:

  • رقمية دقيقة
  • عددية تقريبية
  • التاريخ والوقت
  • سلاسل الأحرف
  • سلاسل أحرف Unicode
  • سلاسل ثنائية
  • أنواع البيانات الأخرى
نوع البيانات المتوفرة في MS SQL Server

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

أنواع البيانات الرقمية الدقيقة في SQL

يحتوي الرقم الدقيق على تسعة أنواع من أنواع البيانات الفرعية في خادم SQL.

أنواع البيانات الرقمية الدقيقة

نوع البيانات الوصف الحد الأدنى الحد الأعلى ذاكرة
BIGINT يخزن الأعداد الصحيحة في النطاق المحدد −2^63 (−9,223,372, 036,854,775,808) 2^63−1 (−9,223,372, 036,854,775,807) بايت 8
مادبا يخزن الأعداد الصحيحة في النطاق المحدد −2^31 (−2,147, 483,648) 2^31−1 (−2,147, 483,647) بايت 4
com.miniint يخزن الأعداد الصحيحة في النطاق المحدد −2^15 (−32,767) 2^15 (−32,768) بايت 2
الدقيقة يخزن الأعداد الصحيحة في النطاق المحدد 0 255 بايت 1
بت يمكن أن يستغرق الأمر قيمًا 0 أو 1 أو NULL. 0 1 عمود 1 بايت/8 بت
عدد عشري يستخدم للأرقام ذات المقياس والدقة الثابتة −10^38+1 10^381−1 5 إلى 17 بايت
الرقمية يستخدم للأرقام ذات المقياس والدقة الثابتة −10^38+1 10^381−1 5 إلى 17 بايت
مال البيانات النقدية المستخدمة 922,337 ، 203 ، 685,477.5808 +922,337, 203, 685,477.5807 بايت 8
مبلغ صغير البيانات النقدية المستخدمة -214,478.3648 214,478.3647+ بايت 4

أنواع البيانات الرقمية الدقيقة في خادم SQL مع الأمثلة:

الاستعلام:

DECLARE @Datatype_Int INT = 2
PRINT @Datatype_Int

الناتج

2

بناء الجملة

عشري (P,S)

هنا،

  • P هي الدقة
  • S هو المقياس

الاستعلام:

DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31
PRINT @Datatype_Decimal

الناتج

2.31

أنواع البيانات الرقمية التقريبية في SQL

SQL تتضمن الفئة الرقمية التقريبية النقطة العائمة والقيم الحقيقية. تُستخدم أنواع البيانات هذه في SQL في الغالب في الحسابات العلمية.

نوع البيانات الرقمية التقريبية

نوع البيانات الوصف الحد الأدنى الحد الأعلى ذاكرة دقة
تعويم (ن) يستخدم لرقم الدقة العائمة -1.79E+308 1.79E + 308 يعتمد على قيمة ن 7 Digit
حقيقي يستخدم لرقم الدقة العائمة -3.40E+38 3.40E + 38 بايت 4 15 Digit
Syntax:  FLOAT [(n)]

هنا، n هو عدد البتات المستخدمة لتخزين الجزء العشري من الطفو الرقم بالترميز العلمي. بشكل افتراضي، قيمة n هي 53.

عندما يقوم المستخدم بتعريف نوع بيانات مثل تعويم، n يجب أن تكون قيمة بين 1 و53.

يعامل SQL Server n كواحدة من القيمتين المحتملتين. إذا كان 1<=n<=24، يتم التعامل مع n على أنه 24. وإذا كان 25<=n<=53، يتم التعامل مع n على أنها 53.

مثال للاستعلام:

DECLARE @Datatype_Float FLOAT(24) = 22.1234
PRINT @Datatype_Float

الناتج

22.1234

أنواع بيانات التاريخ والوقت في SQL

يقوم بتخزين البيانات من نوع التاريخ والوقت.

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

نوع البيانات الوصف حجم التخزين دقة المدى المنخفض النطاق العلوي
التاريخ والوقت يستخدم لتحديد التاريخ والوقت من 1 يناير 1753 إلى 31 ديسمبر 9999. تبلغ دقته 3.33 مللي ثانية. بايت 8 تم التقريب إلى زيادات .000، .003، .007 1753-01-01 9999-12-31
com.smalldatetime يستخدم لتحديد التاريخ والوقت من 1 يناير 0001 إلى 31 ديسمبر 9999. بدقة 100 نانو ثانية 4 بايت، ثابتة 1 دقيقة 1900-01-01 2079-06-06
تاريخ يستخدم لتخزين التاريخ فقط من 1 يناير 0001 إلى 31 ديسمبر 9999 3 بايت، ثابتة 1 يوم 0001-01-01 9999-12-31
الوقت يستخدم لتخزين قيم الوقت فقط بدقة 100 نانو ثانية. بايت 5 100 نانو ثانية 00:00:00.0000000 23:59:59.9999999
datetimeoffset يشبه datatime ولكن يحتوي على إزاحة منطقة زمنية بايت 10 100 نانو ثانية 0001-01-01 9999-12-31
التاريخ والوقت 2 يستخدم لتحديد التاريخ والوقت من 1 يناير 0001 إلى 31 ديسمبر 9999 بايت 6 100 نانو ثانية 0001-01-01 9999-12-31

مثال للاستعلام :

DECLARE @Datatype_Date DATE = '2030-01-01'
PRINT @Datatype_Date

الناتج

'2030-01-01'

أنواع بيانات سلاسل الأحرف في SQL

ترتبط هذه الفئة بنوع الشخصية. يسمح للمستخدم بتحديد نوع بيانات الشخصية التي يمكن أن تكون ذات طول ثابت ومتغير. لديها أربعة أنواع من أنواع البيانات. فيما يلي أنواع بيانات خادم SQL لسلسلة الأحرف مع الأمثلة.

أنواع بيانات سلاسل الأحرف

نوع البيانات الوصف الحد الأدنى الحد الأعلى ذاكرة
دبابة إنها سلسلة أحرف ذات عرض ثابت. يقوم بتخزين ما يصل إلى 8,000 حرف كحد أقصى. 0 حرفًا 8000 حرفًا ن بايت
VARCHAR هذه سلسلة أحرف ذات عرض متغير 0 حرفًا 8000 حرفًا ن بايت + 2 بايت
فارتشار (الحد الأقصى) هذه سلسلة أحرف ذات عرض متغير. يقوم بتخزين ما يصل إلى 1,073,741,824 حرفًا كحد أقصى. 0 حرفًا 2^31 حرف ن بايت + 2 بايت
نص هذه سلسلة أحرف ذات عرض متغير. يقوم بتخزين 2 جيجابايت كحد أقصى من البيانات النصية. 0 حرفًا 2,147,483,647 حرفًا ن بايت + 4 بايت

مثال للاستعلام :

DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'
PRINT @Datatype_Char

الناتج

هذا هو نوع بيانات الشخصية

أنواع بيانات سلاسل أحرف Unicode في SQL

تخزن هذه الفئة النطاق الكامل لأحرف Unicode التي تستخدم ترميز الأحرف UTF-16.

أنواع بيانات سلسلة أحرف Unicode

نوع البيانات الوصف الحد الأدنى الحد الأعلى ذاكرة
NCHAR إنها سلسلة Unicode ذات عرض ثابت 0 حرفًا 4000 حرفًا 2 مرات ن بايت
NVARCHAR إنها سلسلة Unicode ذات عرض متغير 0 حرفًا 4000 حرفًا 2 مرات ن بايت + 2 بايت
NTEXT إنها سلسلة Unicode ذات عرض متغير 0 حرفًا 1,073,741,823 شار 2 أضعاف طول السلسلة

مثال للاستعلام:

DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'
PRINT @Datatype_nChar

الناتج

هذا هو نوع بيانات nCharacter

أنواع بيانات السلسلة الثنائية في SQL

تحتوي هذه الفئة على سلسلة ثنائية ذات طول ثابت ومتغير.

أنواع بيانات السلسلة الثنائية

نوع البيانات الوصف الحد الأدنى الحد الأعلى ذاكرة
ثنائي إنها سلسلة ثنائية ذات عرض ثابت. يقوم بتخزين ما يصل إلى 8,000 بايت كحد أقصى. بايت 0 بايت 8000 ن بايت
فاربيناري هذه سلسلة ثنائية ذات عرض متغير. يقوم بتخزين ما يصل إلى 8,000 بايت كحد أقصى بايت 0 بايت 8000 الطول الفعلي للبيانات المدخلة + 2 بايت
صورة هذه سلسلة ثنائية ذات عرض متغير. يتم تخزينه بحد أقصى 2 جيجابايت. بايت 0 بايت 2,147,483,647

مثال للاستعلام:

DECLARE @Datatype_Binary BINARY(2) = 12;
PRINT @Datatype_Binary

الناتج

0x000C

أنواع البيانات الأخرى في SQL

هذه هي أنواع بيانات خادم SQL مختلفة أخرى مع الوصف أدناه-

نوع البيانات الوصف
المؤشر إخراجها هو عمود من sp_cursor_list sp_describe_cursor.
تقوم بإرجاع اسم متغير المؤشر.
نسخة الصف إنه إصدار يختم صفوف الجدول.
التسلسل الهرمي يمثل نوع البيانات هذا موضعًا في التسلسل الهرمي
معرف فريد التحويل من تعبير حرف.
Sql_variant يقوم بتخزين قيم أنواع البيانات المدعومة لخادم SQL.
XML يقوم بتخزين بيانات XML في عمود.
نوع الهندسة المكانية وهو يمثل البيانات في نظام الإحداثيات المسطحة.
نوع الجغرافيا المكانية وهو يمثل البيانات في نظام الإحداثيات المستديرة للأرض.
جدول يقوم بتخزين مجموعة النتائج لمعالجتها لاحقًا.

حقائق مثيرة للاهتمام!

الملخص

  • يتم تعريف كل عمود في الجداول بنوع البيانات الخاص به أثناء إنشاء الجدول.
  • هناك ست فئات رئيسية وفئة أخرى متنوعة. تشتمل الفئات المتنوعة الأخرى على تسع فئات فرعية خادم SQL أنواع البيانات والأحجام المتاحة.