شبكة تعلم مع ناو

هل يحفظ FLOAT كل الأعداد الصحيحة دون تغيير؟

قد يظن المطور أن مشكلات FLOAT تخص الكسور فقط، لكن دقته المحدودة تؤثر أيضًا في الأعداد الصحيحة الكبيرة. يستطيع النوع تمثيل مجال واسع من المقادير، إلا أن اتساع المجال لا يعني القدرة على تمييز كل عدد عن العدد الذي يليه. كلما كبرت القيم، زادت المسافة بين بعض القيم التي يمكن تمثيلها بدقة.

لذلك لا يعد FLOAT اختيارًا مناسبًا لمعرّفات يجب الحفاظ على جميع أرقامها دون تغيير. إذا كان المعرّف عددًا صحيحًا ضمن مجال INT، فإن النوع الصحيح يحفظه بدقة. أما إذا كانت القيمة رمزًا يحتوي على أصفار بادئة ذات معنى، فقد تحتاج أصلًا إلى نوع نصي. السؤال المهم في التصميم ليس فقط هل تقع القيمة داخل المجال، بل هل يستطيع النوع الاحتفاظ بالتمييز المطلوب بين القيم المتجاورة أيضًا.

مثال

CREATE TABLE astronauts (
  exact_id INT,
  approximate_id FLOAT
);
INSERT INTO astronauts VALUES (16777217, 16777217);

باختصار: المجال الواسع في FLOAT لا يضمن حفظ كل عدد صحيح بدقة، لذلك تجنبه للمعرّفات الدقيقة.

هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.