السلام عليكم الاخوة والاخوات الكرام .انواع البيانات سيكول سيرفر decimal,float,money الفرق بينهم وايهما افضل
انا استخدم ( decimal(18,1 اريد انا تحفظ القيمة في قاعدة البيانات كما كتبها المستخدم في الفيجول استديو سواء اكانت بكسور او غير ذالك
حتي لا يختلط الامر علي في قراءة الارقام .اريد انا تحفظ كما كتبها المستخدم في الفيجول استديو
شكرا لكم وبارك الله فيكم
انواع البيانات سيكول سيرفر decimal,float,money الفرق بينهم وايهما افضل
السلام عليكم ...
أنواع البيانات العددية , مشروحة مفصلة على الرابط :
فيها الروابط :
decimal and numeric (Transact-SQL)
int, bigint, smallint, and tinyint (Transact-SQL)
money and smallmoney (Transact-SQL)
ملاحظة , ستصادف الرمز E و هو يعني 10 مرفوعا لللأس حسبا العدد التالي و يعني :
3.14E+3 = 3.14 * 10 ^3
أي :
3.14E+3 = 3.14 * 10 * 10 * 10
لو كان بعد E سالب , نقسم بدلا من الضرب ..
المشكلة التي تحصل معك , معروفة , و هي أن الأرقام يتم تقريبها عندما تستخدم الفاصلة العائمة floating-point يعني (float , real ) .لذلك لا تستخدمها إذا كنت تريد أرقام دقيقة ..
الحل , استخدم فاصلة ثابتة , fixed-point مثلا : decimal , money وحدد عدد الأرقام بعد الفاصلة كما تريد , اي بالدقة التي تريد ... و انتبه لحجم كل نوع ...كي لا تهدر مساحة القاعدة .. :)
مثلا : decimal(18, 4) يعني أن الرقم مكون من 18 خانة ككل , منها 4 للأرقام بعد الفاصلة (الجزء العشري) ... و يبقى 14 خانة للأرقام على يسار الفاصلة (الجزء الصحيح) .. أي انت تحدد الدقة التي تريدها بالضبط ..
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر