أنواع بيانات SQL Server مع الأمثلة
ما هو نوع البيانات؟
A نوع البيانات يتم تعريف خادم SQL على أنه نوع البيانات التي يمكن لأي عمود أو متغير تخزينها. إنه نوع من البيانات التي يحملها كائن مثل عدد صحيح أو حرف أو سلسلة وما إلى ذلك. أثناء إنشاء أي جدول أو متغير، بالإضافة إلى تحديد الاسم، يمكنك أيضًا تعيين نوع البيانات التي سيتم تخزينها.
كيفية استخدام نوع البيانات MS SQL
- يتعين عليك أن تحدد مسبقًا نوع البيانات التي يمكن للعمود أو المتغير تخزينها. كما أن تحديد نوع البيانات يمنع المستخدم من إدخال أي بيانات غير متوقعة أو غير صالحة.
- يمكنك الاستفادة بكفاءة من الذاكرة عن طريق تعيين نوع بيانات مناسب لمتغير أو عمود والذي سيخصص فقط المقدار المطلوب من ذاكرة النظام لبيانات العمود المعني.
- يقدم MS SQL فئة واسعة من أنواع البيانات الأساسية في SQL وفقًا لاحتياجات المستخدم مثل التاريخ والصور الثنائية وما إلى ذلك.
لماذا استخدام أنواع البيانات؟
دعونا نأخذ عينة بسيطة صفحة التسجيل تطبيق موقع الويب. ثلاثة حقول إدخال هي الاسم الأول واسم العائلة ورقم الاتصال.
هنا يجب أن نلاحظ أنه في الوقت الحقيقي:
- "اول آخر اسم" سوف يكون دائما أبجدي.
- "اتصل" سوف يكون دائما الرقمية.
- من الصورة أعلاه يستحق التحديد "اول آخر اسم" ك حرف "اتصل" باعتبارها عدد صحيح.
من الواضح أنه في أي تطبيق، تحتوي كافة الحقول على نوع أو نوع آخر من البيانات. على سبيل المثال، رقمية، أبجدية، تاريخ، وغيرها الكثير.
لاحظ أيضًا أن نوع البيانات المختلف له متطلبات ذاكرة مختلفة. ولذلك، فمن المنطقي أكثر تحديد العمود أو متغير مع نوع البيانات الذي سيحتفظ به للاستخدام الفعال للذاكرة.
نوع البيانات المتوفرة في MS SQL Server
فيما يلي قائمة أنواع بيانات خادم MS SQL:
خادم MS SQL يدعم الفئات التالية من نوع البيانات:
- رقمية دقيقة
- عددية تقريبية
- التاريخ والوقت
- سلاسل الأحرف
- سلاسل أحرف Unicode
- سلاسل ثنائية
- أنواع البيانات الأخرى
أنواع البيانات الرقمية الدقيقة في 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 في عمود. |
نوع الهندسة المكانية | وهو يمثل البيانات في نظام الإحداثيات المسطحة. |
نوع الجغرافيا المكانية | وهو يمثل البيانات في نظام الإحداثيات المستديرة للأرض. |
جدول | يقوم بتخزين مجموعة النتائج لمعالجتها لاحقًا. |
حقائق مثيرة للاهتمام!
- نوع بيانات CHAR أسرع من نوع بيانات SQL VARCHAR أثناء استرداد البيانات.
الملخص
- يتم تعريف كل عمود في الجداول بنوع البيانات الخاص به أثناء إنشاء الجدول.
- هناك ست فئات رئيسية وفئة أخرى متنوعة. تشتمل الفئات المتنوعة الأخرى على تسع فئات فرعية خادم SQL أنواع البيانات والأحجام المتاحة.